From b63f1584594c21417d22c86c9500f95f5d4e7413 Mon Sep 17 00:00:00 2001 From: oxmc7769 Date: Sun, 29 Mar 2026 03:42:51 -0700 Subject: [PATCH] Combine Zorin-Taskbar and Gtk4 Desktop Icons NG into 1 plugin --- .gitignore | 4 +- Makefile | 23 +- README.md | 6 +- debian/changelog | 231 +- debian/control | 21 +- debian/copyright | 2 +- debian/install | 3 +- debian/rules | 56 +- debian/vesperos-taskbar.postinst | 13 + debian/vesperos-taskbar.postrm | 13 + ding/app/adw-ding.js | 598 ++++ ding/app/adwPreferencesWindow.js | 900 +++++ ding/app/appChooser.js | 248 ++ ding/app/appImageFileItem.js | 136 + ding/app/askRenamePopup.js | 217 ++ ding/app/autoAr.js | 769 ++++ ding/app/com.desktop.ding.data.gresource | Bin 0 -> 22492 bytes ding/app/desktopFileIcon.js | 305 ++ ding/app/desktopFolderMonitor.js | 660 ++++ ding/app/desktopGrid.js | 3141 +++++++++++++++++ ding/app/desktopIconFactory.js | 81 + ding/app/desktopIconItem.js | 1037 ++++++ ding/app/desktopManager.js | 1874 ++++++++++ ding/app/desktopMenu.js | 1191 +++++++ ding/app/dragManager.js | 987 ++++++ ding/app/enums.js | 198 ++ ding/app/fileItemIcon.js | 850 +++++ ding/app/fileItemMenu.js | 1490 ++++++++ ding/app/gnomeShellDragDrop.js | 368 ++ ding/app/htmlWidgetHost.js | 508 +++ ding/app/htmlWidgetHostWithBackend.js | 599 ++++ ding/app/preferences.js | 1102 ++++++ ding/app/shortcutManager.js | 732 ++++ ding/app/shortcuts.js | 102 + ding/app/showErrorPopup.js | 108 + ding/app/specialFolderIcon.js | 174 + ding/app/stackItem.js | 236 ++ ding/app/symLinkIcon.js | 178 + ding/app/templatesScriptsManager.js | 308 ++ ding/app/thumbnails.js | 494 +++ ding/app/utils/dbusInterfaces.js | 243 ++ ding/app/utils/dbusUtils.js | 1638 +++++++++ ding/app/utils/desktopFolderUtils.js | 350 ++ ding/app/utils/desktopIconsUtil.js | 1025 ++++++ ding/app/utils/gsConnect.js | 230 ++ ding/app/volumeIcon.js | 161 + ding/app/widgetApi.js | 644 ++++ ding/app/widgetManager.js | 2260 ++++++++++++ ding/app/widgetRegistry.js | 573 +++ ding/app/widgetWebContext.js | 1042 ++++++ ding/app/windowManager.js | 607 ++++ ding/apparmor/gtk4-desktop-icons | 12 + ding/apparmor/gtk4-desktop-icons.in | 12 + ding/apparmor/meson.build | 8 + ding/data/com.desktop.ding.data.gresource.xml | 29 + ding/data/com.desktop.ding.desktop | 500 +++ ding/data/com.desktop.ding.desktop.in | 38 + ding/data/icons/com.desktop.ding.svg | 59 + ding/data/icons/edit-delete-symbolic.svg | 4 + ding/data/icons/edit-undo-symbolic.svg | 4 + ding/data/icons/emblem-readonly-symbolic.svg | 4 + .../icons/emblem-symbolic-link-symbolic.svg | 4 + ding/data/icons/emblem-system-symbolic.svg | 8 + .../icons/emblem-unwriteable-symbolic.svg | 4 + ding/data/icons/list-add-symbolic.svg | 4 + ding/data/icons/meson.build | 11 + ding/data/icons/prefs-desktop-symbolic.svg | 8 + ding/data/icons/prefs-desktop.svg | 8 + ding/data/icons/prefs-files-symbolic.svg | 47 + ding/data/icons/prefs-files.svg | 8 + ding/data/icons/prefs-more-symbolic.svg | 8 + ding/data/icons/prefs-more.svg | 8 + ding/data/icons/prefs-tweaks-symbolic.svg | 64 + ding/data/icons/stack.svg | 49 + ding/data/icons/view-grid-symbolic.svg | 1 + ding/data/icons/window-close-symbolic.svg | 4 + ding/data/icons/window-pop-out-symbolic.svg | 8 + ding/data/icons/xapp-edit-symbolic.svg | 96 + ding/data/meson.build | 27 + ding/data/stylesheet.css | 241 ++ ding/data/ui/ding-app-chooser.ui | 120 + ding/data/ui/ding-widget-chooser.ui | 71 + ding/dependencies/gettext.js | 7 + ding/dependencies/gi.js | 90 + ding/dependencies/localFiles.js | 41 + ding/dingManager.js | 1093 ++++++ ding/emulateX11WindowType.js | 839 +++++ ding/gnomeShellOverride.js | 190 + ding/po/LINGUAS | 56 + ding/po/POTFILES.in | 46 + ding/po/ar.po | 2097 +++++++++++ ding/po/az.po | 2065 +++++++++++ ding/po/be.po | 1887 ++++++++++ ding/po/bg.po | 2116 +++++++++++ ding/po/bn.po | 2064 +++++++++++ ding/po/ca.po | 2020 +++++++++++ ding/po/cs.po | 2004 +++++++++++ ding/po/da.po | 2041 +++++++++++ ding/po/de.po | 1886 ++++++++++ ding/po/el.po | 2089 +++++++++++ ding/po/eo.po | 2068 +++++++++++ ding/po/es.po | 1934 ++++++++++ ding/po/et.po | 2073 +++++++++++ ding/po/eu.po | 2074 +++++++++++ ding/po/fa.po | 2068 +++++++++++ ding/po/fi.po | 1989 +++++++++++ ding/po/fr.po | 1961 ++++++++++ ding/po/fur.po | 1840 ++++++++++ ding/po/ga.po | 2086 +++++++++++ ding/po/gl.po | 2076 +++++++++++ ding/po/gtk4-ding.pot | 1668 +++++++++ ding/po/he.po | 2039 +++++++++++ ding/po/hi.po | 2069 +++++++++++ ding/po/hr.po | 2039 +++++++++++ ding/po/hu.po | 1794 ++++++++++ ding/po/id.po | 2074 +++++++++++ ding/po/it.po | 1990 +++++++++++ ding/po/ja.po | 1992 +++++++++++ ding/po/ka.po | 1725 +++++++++ ding/po/kk.po | 1670 +++++++++ ding/po/ko.po | 1975 +++++++++++ ding/po/ky.po | 2099 +++++++++++ ding/po/lt.po | 2073 +++++++++++ ding/po/lv.po | 2076 +++++++++++ ding/po/meson.build | 28 + ding/po/ms.po | 2077 +++++++++++ ding/po/nb.po | 2075 +++++++++++ ding/po/nb_NO.po | 1757 +++++++++ ding/po/nl.po | 2050 +++++++++++ ding/po/oc.po | 1902 ++++++++++ ding/po/pl.po | 1792 ++++++++++ ding/po/pt.po | 2079 +++++++++++ ding/po/pt_BR.po | 2010 +++++++++++ ding/po/ro.po | 2007 +++++++++++ ding/po/ru.po | 1797 ++++++++++ ding/po/sk.po | 1763 +++++++++ ding/po/sl.po | 2080 +++++++++++ ding/po/sq.po | 2076 +++++++++++ ding/po/sv.po | 2010 +++++++++++ ding/po/ta.po | 1794 ++++++++++ ding/po/th.po | 2053 +++++++++++ ding/po/tl.po | 2099 +++++++++++ ding/po/tr.po | 2010 +++++++++++ ding/po/uk.po | 1993 +++++++++++ ding/po/ur.po | 2076 +++++++++++ ding/po/zh-Hans.po | 2082 +++++++++++ ding/po/zh-Hant.po | 2082 +++++++++++ ding/po/zh_CN.po | 2084 +++++++++++ ding/po/zh_TW.po | 2083 +++++++++++ ding/utils/fileUtils.js | 173 + ding/visibleArea.js | 164 + metadata.json | 16 +- po/pl.po | 162 +- po/sk.po | 2337 ++++++------ ...vesperos-taskbar.desktop-icons.gschema.xml | 124 + ...l.extensions.vesperos-taskbar.gschema.xml} | 44 +- src/desktopIconsIntegration.js | 6 +- src/extension.js | 21 +- src/panel.js | 41 +- src/panelManager.js | 10 +- src/prefs.js | 8 +- src/stylesheet.css | 96 +- src/taskbar.js | 4 +- src/windowPreview.js | 2 +- 164 files changed, 149983 insertions(+), 1372 deletions(-) create mode 100755 debian/vesperos-taskbar.postinst create mode 100755 debian/vesperos-taskbar.postrm create mode 100755 ding/app/adw-ding.js create mode 100644 ding/app/adwPreferencesWindow.js create mode 100644 ding/app/appChooser.js create mode 100644 ding/app/appImageFileItem.js create mode 100644 ding/app/askRenamePopup.js create mode 100644 ding/app/autoAr.js create mode 100644 ding/app/com.desktop.ding.data.gresource create mode 100644 ding/app/desktopFileIcon.js create mode 100644 ding/app/desktopFolderMonitor.js create mode 100644 ding/app/desktopGrid.js create mode 100644 ding/app/desktopIconFactory.js create mode 100644 ding/app/desktopIconItem.js create mode 100644 ding/app/desktopManager.js create mode 100644 ding/app/desktopMenu.js create mode 100644 ding/app/dragManager.js create mode 100644 ding/app/enums.js create mode 100644 ding/app/fileItemIcon.js create mode 100644 ding/app/fileItemMenu.js create mode 100644 ding/app/gnomeShellDragDrop.js create mode 100644 ding/app/htmlWidgetHost.js create mode 100644 ding/app/htmlWidgetHostWithBackend.js create mode 100644 ding/app/preferences.js create mode 100644 ding/app/shortcutManager.js create mode 100644 ding/app/shortcuts.js create mode 100644 ding/app/showErrorPopup.js create mode 100644 ding/app/specialFolderIcon.js create mode 100644 ding/app/stackItem.js create mode 100644 ding/app/symLinkIcon.js create mode 100644 ding/app/templatesScriptsManager.js create mode 100644 ding/app/thumbnails.js create mode 100644 ding/app/utils/dbusInterfaces.js create mode 100644 ding/app/utils/dbusUtils.js create mode 100644 ding/app/utils/desktopFolderUtils.js create mode 100644 ding/app/utils/desktopIconsUtil.js create mode 100644 ding/app/utils/gsConnect.js create mode 100644 ding/app/volumeIcon.js create mode 100644 ding/app/widgetApi.js create mode 100644 ding/app/widgetManager.js create mode 100644 ding/app/widgetRegistry.js create mode 100644 ding/app/widgetWebContext.js create mode 100644 ding/app/windowManager.js create mode 100644 ding/apparmor/gtk4-desktop-icons create mode 100644 ding/apparmor/gtk4-desktop-icons.in create mode 100644 ding/apparmor/meson.build create mode 100644 ding/data/com.desktop.ding.data.gresource.xml create mode 100644 ding/data/com.desktop.ding.desktop create mode 100644 ding/data/com.desktop.ding.desktop.in create mode 100644 ding/data/icons/com.desktop.ding.svg create mode 100644 ding/data/icons/edit-delete-symbolic.svg create mode 100644 ding/data/icons/edit-undo-symbolic.svg create mode 100644 ding/data/icons/emblem-readonly-symbolic.svg create mode 100644 ding/data/icons/emblem-symbolic-link-symbolic.svg create mode 100644 ding/data/icons/emblem-system-symbolic.svg create mode 100644 ding/data/icons/emblem-unwriteable-symbolic.svg create mode 100644 ding/data/icons/list-add-symbolic.svg create mode 100644 ding/data/icons/meson.build create mode 100644 ding/data/icons/prefs-desktop-symbolic.svg create mode 100644 ding/data/icons/prefs-desktop.svg create mode 100644 ding/data/icons/prefs-files-symbolic.svg create mode 100644 ding/data/icons/prefs-files.svg create mode 100644 ding/data/icons/prefs-more-symbolic.svg create mode 100644 ding/data/icons/prefs-more.svg create mode 100644 ding/data/icons/prefs-tweaks-symbolic.svg create mode 100644 ding/data/icons/stack.svg create mode 100644 ding/data/icons/view-grid-symbolic.svg create mode 100644 ding/data/icons/window-close-symbolic.svg create mode 100644 ding/data/icons/window-pop-out-symbolic.svg create mode 100644 ding/data/icons/xapp-edit-symbolic.svg create mode 100644 ding/data/meson.build create mode 100644 ding/data/stylesheet.css create mode 100644 ding/data/ui/ding-app-chooser.ui create mode 100644 ding/data/ui/ding-widget-chooser.ui create mode 100644 ding/dependencies/gettext.js create mode 100644 ding/dependencies/gi.js create mode 100644 ding/dependencies/localFiles.js create mode 100644 ding/dingManager.js create mode 100644 ding/emulateX11WindowType.js create mode 100644 ding/gnomeShellOverride.js create mode 100644 ding/po/LINGUAS create mode 100644 ding/po/POTFILES.in create mode 100644 ding/po/ar.po create mode 100644 ding/po/az.po create mode 100644 ding/po/be.po create mode 100644 ding/po/bg.po create mode 100644 ding/po/bn.po create mode 100644 ding/po/ca.po create mode 100644 ding/po/cs.po create mode 100644 ding/po/da.po create mode 100644 ding/po/de.po create mode 100644 ding/po/el.po create mode 100644 ding/po/eo.po create mode 100644 ding/po/es.po create mode 100644 ding/po/et.po create mode 100644 ding/po/eu.po create mode 100644 ding/po/fa.po create mode 100644 ding/po/fi.po create mode 100644 ding/po/fr.po create mode 100644 ding/po/fur.po create mode 100644 ding/po/ga.po create mode 100644 ding/po/gl.po create mode 100644 ding/po/gtk4-ding.pot create mode 100644 ding/po/he.po create mode 100644 ding/po/hi.po create mode 100644 ding/po/hr.po create mode 100644 ding/po/hu.po create mode 100644 ding/po/id.po create mode 100644 ding/po/it.po create mode 100644 ding/po/ja.po create mode 100644 ding/po/ka.po create mode 100644 ding/po/kk.po create mode 100644 ding/po/ko.po create mode 100644 ding/po/ky.po create mode 100644 ding/po/lt.po create mode 100644 ding/po/lv.po create mode 100644 ding/po/meson.build create mode 100644 ding/po/ms.po create mode 100644 ding/po/nb.po create mode 100644 ding/po/nb_NO.po create mode 100644 ding/po/nl.po create mode 100644 ding/po/oc.po create mode 100644 ding/po/pl.po create mode 100644 ding/po/pt.po create mode 100644 ding/po/pt_BR.po create mode 100644 ding/po/ro.po create mode 100644 ding/po/ru.po create mode 100644 ding/po/sk.po create mode 100644 ding/po/sl.po create mode 100644 ding/po/sq.po create mode 100644 ding/po/sv.po create mode 100644 ding/po/ta.po create mode 100644 ding/po/th.po create mode 100644 ding/po/tl.po create mode 100644 ding/po/tr.po create mode 100644 ding/po/uk.po create mode 100644 ding/po/ur.po create mode 100644 ding/po/zh-Hans.po create mode 100644 ding/po/zh-Hant.po create mode 100644 ding/po/zh_CN.po create mode 100644 ding/po/zh_TW.po create mode 100644 ding/utils/fileUtils.js create mode 100644 ding/visibleArea.js create mode 100644 schemas/org.gnome.shell.extensions.vesperos-taskbar.desktop-icons.gschema.xml rename schemas/{org.gnome.shell.extensions.zorin-taskbar.gschema.xml => org.gnome.shell.extensions.vesperos-taskbar.gschema.xml} (96%) diff --git a/.gitignore b/.gitignore index fdc00a8..667d6c1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,8 @@ .~ *~ gschemas.compiled -zorin-taskbar@zorinos.com*.zip +vesperos-taskbar@oxmc.me*.zip *.mo -po/zorin-taskbar.pot +po/vesperos-taskbar.pot ui/*.ui.h node_modules/ diff --git a/Makefile b/Makefile index b0cb239..a284ddd 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,8 @@ # Basic Makefile -UUID = zorin-taskbar@zorinos.com +UUID = vesperos-taskbar@oxmc.me MODULES = src/*.js src/stylesheet.css metadata.json COPYING README.md +DING_MODULES = ding/dingManager.js ding/gnomeShellOverride.js ding/emulateX11WindowType.js ding/visibleArea.js UI_MODULES = ui/*.ui IMAGES = ./* @@ -15,13 +16,13 @@ else INSTALLBASE = $(DESTDIR)/usr/share/gnome-shell/extensions SHARE_PREFIX = $(DESTDIR)/usr/share endif -INSTALLNAME = zorin-taskbar@zorinos.com +INSTALLNAME = vesperos-taskbar@oxmc.me # The command line passed variable VERSION is used to set the version string # in the metadata and in the generated zip-file. ifdef VERSION else - VERSION = 70 + VERSION = 71 endif ifdef TARGET @@ -37,27 +38,27 @@ clean: extension: ./schemas/gschemas.compiled $(MSGSRC:.po=.mo) -./schemas/gschemas.compiled: ./schemas/org.gnome.shell.extensions.zorin-taskbar.gschema.xml +./schemas/gschemas.compiled: ./schemas/org.gnome.shell.extensions.vesperos-taskbar.gschema.xml glib-compile-schemas ./schemas/ -potfile: ./po/zorin-taskbar.pot +potfile: ./po/vesperos-taskbar.pot mergepo: potfile for l in $(MSGSRC); do \ - msgmerge -U $$l ./po/zorin-taskbar.pot; \ + msgmerge -U $$l ./po/vesperos-taskbar.pot; \ done; -./po/zorin-taskbar.pot: $(TOLOCALIZE) +./po/vesperos-taskbar.pot: $(TOLOCALIZE) mkdir -p po - xgettext -k_ -kN_ -o po/zorin-taskbar.pot --package-name "Zorin Taskbar" $(TOLOCALIZE) --from-code=UTF-8 + xgettext -k_ -kN_ -o po/vesperos-taskbar.pot --package-name "Vesperos Taskbar" $(TOLOCALIZE) --from-code=UTF-8 for l in $(UI_MODULES) ; do \ intltool-extract --type=gettext/glade $$l; \ - xgettext -k_ -kN_ -o po/zorin-taskbar.pot $$l.h --join-existing --from-code=UTF-8; \ + xgettext -k_ -kN_ -o po/vesperos-taskbar.pot $$l.h --join-existing --from-code=UTF-8; \ rm -rf $$l.h; \ done; - sed -i -e 's/&\#10;/\\n/g' po/zorin-taskbar.pot + sed -i -e 's/&\#10;/\\n/g' po/vesperos-taskbar.pot ./po/%.mo: ./po/%.po msgfmt -c $< -o $@ @@ -100,7 +101,7 @@ _build: all lf=_build/locale/`basename $$l .mo`; \ mkdir -p $$lf; \ mkdir -p $$lf/LC_MESSAGES; \ - cp $$l $$lf/LC_MESSAGES/zorin-taskbar.mo; \ + cp $$l $$lf/LC_MESSAGES/vesperos-taskbar.mo; \ done; ifneq ($(and $(COMMIT),$(VERSION)),) sed -i 's/"version": [[:digit:]][[:digit:]]*/"version": $(VERSION),\n"commit": "$(COMMIT)"/' _build/metadata.json; diff --git a/README.md b/README.md index e65d8a7..c3b7442 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,6 @@ -# Zorin Taskbar -The official taskbar for Zorin OS. +# VesperOS Taskbar +The official taskbar for VesperOS. + +Bundles the taskbar panel and [Gtk4 Desktop Icons NG (DING)](https://gitlab.com/smedius/desktop-icons-ng) into a single package. Re-based on the [Dash to Panel](https://github.com/home-sweet-gnome/dash-to-panel) GNOME Shell extension. Dash to Panel was initially based on the original version of Zorin Taskbar from 2016, with some code derived from the [Dash to Dock](https://github.com/micheleg/dash-to-dock) extension by micheleg. diff --git a/debian/changelog b/debian/changelog index d8a7404..e1103ed 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,609 +1,644 @@ -gnome-shell-extension-zorin-taskbar (70.1.1) noble; urgency=medium +vesperos-taskbar (72.2) unstable; urgency=medium + + * Rename package from gnome-shell-extension-zorin-taskbar to vesperos-taskbar + * Add ding/app/utils/ (fixes desktopFolderUtils.js ImportError at runtime) + * Consolidate both GSettings schemas into schemas/ for combined install + + -- VesperOS Desktop Team Sat, 28 Mar 2026 23:30:00 +0000 + +vesperos-taskbar (72.1) unstable; urgency=medium + + * Re-based on upstream version 72 + + -- VesperOS Desktop Team Sat, 28 Mar 2026 22:46:02 +0000 + +vesperos-taskbar (71.1) unstable; urgency=medium + + * Bundle Gtk4 Desktop Icons NG (DING 100.17) into the same package so a + single install provides both the taskbar panel and desktop icon management + * Add Conflicts/Replaces against standalone DING packages + * Install DING AppArmor profile and compile both GSettings schemas on postinst + + -- VesperOS Desktop Team Sat, 28 Mar 2026 00:00:00 +0000 + +vesperos-taskbar (71.0) unstable; urgency=medium + + * Fix allocationMap crash when panelPositions contains unknown element keys + * Fix null-pointer crash in _setAllocationMap for dateMenu/quickSettings + * Fix missing filter on status area entries during panel cleanup/disable + * Fix crash when _volumeOutput is absent during panel teardown + * Replace deprecated ExtensionUtils.ExtensionState with ExtensionState from + extension.js for GNOME 46+ compatibility (desktop-icons-ng integration) + * Extend supported GNOME Shell versions to include 50 + + -- VesperOS Desktop Team Sat, 28 Mar 2026 00:00:00 +0000 + +vesperos-taskbar (70.1.1) noble; urgency=medium * Fixed bugs -- Artyom Zorin Mon, 29 Sep 2025 18:08:55 +0100 -gnome-shell-extension-zorin-taskbar (70.1) noble; urgency=medium +vesperos-taskbar (70.1) noble; urgency=medium * Rebased on upstream commit 1ac39b72b88110681203701728e18468b24151c3 -- Artyom Zorin Mon, 29 Sep 2025 17:53:47 +0100 -gnome-shell-extension-zorin-taskbar (70) noble; urgency=medium +vesperos-taskbar (70) noble; urgency=medium * Rebased on upstream commit 134f6f991126b96738efef303572f1db9bdec9bd but without commit 114d87149872da003af947315d4da2f0e40d41c9 -- Artyom Zorin Sat, 27 Sep 2025 23:17:10 +0100 -gnome-shell-extension-zorin-taskbar (69.2) noble; urgency=medium +vesperos-taskbar (69.2) noble; urgency=medium * Adjusted app icon margin -- Artyom Zorin Tue, 16 Sep 2025 16:03:52 +0100 -gnome-shell-extension-zorin-taskbar (69.1) noble; urgency=medium +vesperos-taskbar (69.1) noble; urgency=medium * Set prefs window width -- Artyom Zorin Mon, 15 Sep 2025 16:44:10 +0100 -gnome-shell-extension-zorin-taskbar (69) noble; urgency=medium +vesperos-taskbar (69) noble; urgency=medium * Re-based on upstream version 69 -- Artyom Zorin Fri, 12 Sep 2025 14:14:35 +0100 -gnome-shell-extension-zorin-taskbar (68.9) noble; urgency=medium +vesperos-taskbar (68.9) noble; urgency=medium * Rebased on upstream commit 44be0a739f26d872f27e81bd57928b6f61920476 and hid panel border settings -- Artyom Zorin Mon, 08 Sep 2025 21:39:56 +0100 -gnome-shell-extension-zorin-taskbar (68.8) noble; urgency=medium +vesperos-taskbar (68.8) noble; urgency=medium * Fixed app grid icon styling and rebased on upstream commit 4787d12180462f0c1c90d3f38ece5921e7e31b7a -- Artyom Zorin Fri, 05 Sep 2025 17:44:41 +0100 -gnome-shell-extension-zorin-taskbar (68.7) noble; urgency=medium +vesperos-taskbar (68.7) noble; urgency=medium * Adjusted window preview margin and rounding -- Artyom Zorin Thu, 04 Sep 2025 14:22:11 +0100 -gnome-shell-extension-zorin-taskbar (68.6) noble; urgency=medium +vesperos-taskbar (68.6) noble; urgency=medium * Introduced keep gnome shell dash option -- Artyom Zorin Sat, 23 Aug 2025 15:04:05 +0100 -gnome-shell-extension-zorin-taskbar (68.5.3) noble; urgency=medium +vesperos-taskbar (68.5.3) noble; urgency=medium * Added workaround for race condition -- Artyom Zorin Thu, 07 Aug 2025 00:09:07 +0100 -gnome-shell-extension-zorin-taskbar (68.5.2) noble; urgency=medium +vesperos-taskbar (68.5.2) noble; urgency=medium * Fixed settings cache issues -- Artyom Zorin Wed, 06 Aug 2025 23:45:25 +0100 -gnome-shell-extension-zorin-taskbar (68.5.1) noble; urgency=medium +vesperos-taskbar (68.5.1) noble; urgency=medium * Minor code cleanups -- Artyom Zorin Tue, 05 Aug 2025 22:47:20 +0100 -gnome-shell-extension-zorin-taskbar (68.5) noble; urgency=medium +vesperos-taskbar (68.5) noble; urgency=medium * Rebased on upstream commit 16e16c11ce08abc3c9f0bf922bbc08e17b2c1f08 -- Artyom Zorin Mon, 04 Aug 2025 13:46:11 +0100 -gnome-shell-extension-zorin-taskbar (68.4) noble; urgency=medium +vesperos-taskbar (68.4) noble; urgency=medium * Applied monitor selection and reset geometry fixes -- Artyom Zorin Thu, 31 Jul 2025 19:40:58 +0100 -gnome-shell-extension-zorin-taskbar (68.3) noble; urgency=medium +vesperos-taskbar (68.3) noble; urgency=medium * Removed code to handle overview startup animation -- Artyom Zorin Mon, 07 Jul 2025 12:56:41 +0100 -gnome-shell-extension-zorin-taskbar (68.2.3) noble; urgency=medium +vesperos-taskbar (68.2.3) noble; urgency=medium * Fixed logic error when adjusting panel menu buttons -- Artyom Zorin Fri, 04 Jul 2025 20:36:32 +0100 -gnome-shell-extension-zorin-taskbar (68.2.2) noble; urgency=medium +vesperos-taskbar (68.2.2) noble; urgency=medium * Added settings schema to metadata file -- Artyom Zorin Fri, 06 Jun 2025 23:03:34 +0100 -gnome-shell-extension-zorin-taskbar (68.2.1) noble; urgency=medium +vesperos-taskbar (68.2.1) noble; urgency=medium * Updated debian control file -- Artyom Zorin Fri, 23 May 2025 20:05:49 +0100 -gnome-shell-extension-zorin-taskbar (68.2) noble; urgency=medium +vesperos-taskbar (68.2) noble; urgency=medium * Corrected code to detect Tiling Shell gap offset -- Artyom Zorin Sat, 10 May 2025 23:52:12 +0100 -gnome-shell-extension-zorin-taskbar (68.1) noble; urgency=medium +vesperos-taskbar (68.1) noble; urgency=medium * Adjusted app icon margins and padding -- Artyom Zorin Fri, 02 May 2025 14:19:18 +0100 -gnome-shell-extension-zorin-taskbar (68) noble; urgency=medium +vesperos-taskbar (68) noble; urgency=medium * Re-based on upstream version 68 -- Artyom Zorin Tue, 29 Apr 2025 20:36:02 +0100 -gnome-shell-extension-zorin-taskbar (65.3) noble; urgency=medium +vesperos-taskbar (65.3) noble; urgency=medium * Changed activities button default position -- Artyom Zorin Sun, 02 Mar 2025 19:39:09 +0000 -gnome-shell-extension-zorin-taskbar (65.2) noble; urgency=medium +vesperos-taskbar (65.2) noble; urgency=medium * Separated floating rounded theme from intellihide as an independent styling option -- Artyom Zorin Thu, 27 Feb 2025 13:57:03 +0000 -gnome-shell-extension-zorin-taskbar (65.1) noble; urgency=medium +vesperos-taskbar (65.1) noble; urgency=medium * Fixed various bugs -- Artyom Zorin Wed, 26 Feb 2025 12:20:34 +0000 -gnome-shell-extension-zorin-taskbar (65) noble; urgency=medium +vesperos-taskbar (65) noble; urgency=medium * Re-based on upstream version 65 -- Artyom Zorin Tue, 25 Feb 2025 22:29:43 +0000 -gnome-shell-extension-zorin-taskbar (56.11) jammy; urgency=medium +vesperos-taskbar (56.11) jammy; urgency=medium * Updated French translations -- Artyom Zorin Sun, 20 Oct 2024 17:58:19 +0100 -gnome-shell-extension-zorin-taskbar (56.10) jammy; urgency=medium +vesperos-taskbar (56.10) jammy; urgency=medium * Bug fix for window previews -- Artyom Zorin Mon, 09 Sep 2024 17:44:12 +0100 -gnome-shell-extension-zorin-taskbar (56.9) jammy; urgency=medium +vesperos-taskbar (56.9) jammy; urgency=medium * Increased window preview leave timeout to 250ms -- Artyom Zorin Tue, 03 Sep 2024 14:04:19 +0100 -gnome-shell-extension-zorin-taskbar (56.8) jammy; urgency=medium +vesperos-taskbar (56.8) jammy; urgency=medium * Fixed barrier code -- Artyom Zorin Mon, 12 Aug 2024 23:38:18 +0100 -gnome-shell-extension-zorin-taskbar (56.7) jammy; urgency=medium +vesperos-taskbar (56.7) jammy; urgency=medium * Added link to Application Switching settings to set workspace and monitor isolation behaviour -- Artyom Zorin Wed, 15 May 2024 19:21:08 +0100 -gnome-shell-extension-zorin-taskbar (56.6) jammy; urgency=medium +vesperos-taskbar (56.6) jammy; urgency=medium * Correctly handle desktop icons when calculating proximity -- Artyom Zorin Tue, 27 Feb 2024 20:11:37 +0000 -gnome-shell-extension-zorin-taskbar (56.5) jammy; urgency=medium +vesperos-taskbar (56.5) jammy; urgency=medium * Fixed show desktop functionality -- Artyom Zorin Wed, 13 Dec 2023 17:22:08 +0000 -gnome-shell-extension-zorin-taskbar (56.4) jammy; urgency=medium +vesperos-taskbar (56.4) jammy; urgency=medium * Fixed regression with shortcuts overlay -- Artyom Zorin Wed, 13 Dec 2023 16:21:07 +0000 -gnome-shell-extension-zorin-taskbar (56.3) jammy; urgency=medium +vesperos-taskbar (56.3) jammy; urgency=medium * Adjusted shortcut-num-keys default setting -- Artyom Zorin Tue, 12 Dec 2023 22:21:55 +0000 -gnome-shell-extension-zorin-taskbar (56.2) jammy; urgency=medium +vesperos-taskbar (56.2) jammy; urgency=medium * Fixed floating theme centering bug -- Artyom Zorin Sun, 10 Dec 2023 18:41:12 +0000 -gnome-shell-extension-zorin-taskbar (56.1) jammy; urgency=medium +vesperos-taskbar (56.1) jammy; urgency=medium * Moved isolate settings to GNOME Control Center -- Artyom Zorin Sat, 18 Nov 2023 19:23:50 +0000 -gnome-shell-extension-zorin-taskbar (56.0.2) jammy; urgency=medium +vesperos-taskbar (56.0.2) jammy; urgency=medium * Removed blue background on favorite apps when dragging app icons -- Artyom Zorin Wed, 01 Nov 2023 12:39:55 +0000 -gnome-shell-extension-zorin-taskbar (56.0.1) jammy; urgency=medium +vesperos-taskbar (56.0.1) jammy; urgency=medium * Corrected Makefile -- Artyom Zorin Wed, 31 May 2023 01:23:02 +0100 -gnome-shell-extension-zorin-taskbar (56) jammy; urgency=medium +vesperos-taskbar (56) jammy; urgency=medium * Re-based on upstream version 56 as at commit 9274982189f2d5306afaf29f274d007f0cd12d48 -- Artyom Zorin Wed, 31 May 2023 00:14:18 +0100 -gnome-shell-extension-zorin-taskbar (40.23) focal; urgency=medium +vesperos-taskbar (40.23) focal; urgency=medium * Changed default window preview size to 200px -- Artyom Zorin Sat, 16 Oct 2021 12:44:27 +0100 -gnome-shell-extension-zorin-taskbar (40.22) focal; urgency=medium +vesperos-taskbar (40.22) focal; urgency=medium * Fixed Spanish translations -- Artyom Zorin Sun, 22 Aug 2021 16:45:29 +0100 -gnome-shell-extension-zorin-taskbar (40.21) focal; urgency=medium +vesperos-taskbar (40.21) focal; urgency=medium * Updated Spanish translations -- Artyom Zorin Sun, 22 Aug 2021 15:49:06 +0100 -gnome-shell-extension-zorin-taskbar (40.20) focal; urgency=medium +vesperos-taskbar (40.20) focal; urgency=medium * Corrected translation string -- Artyom Zorin Tue, 27 Jul 2021 22:37:26 +0100 -gnome-shell-extension-zorin-taskbar (40.19) focal; urgency=medium +vesperos-taskbar (40.19) focal; urgency=medium * Corrected translation strings -- Artyom Zorin Tue, 27 Jul 2021 22:35:25 +0100 -gnome-shell-extension-zorin-taskbar (40.18) focal; urgency=medium +vesperos-taskbar (40.18) focal; urgency=medium * Updated translations -- Artyom Zorin Tue, 27 Jul 2021 22:29:20 +0100 -gnome-shell-extension-zorin-taskbar (40.17) focal; urgency=medium +vesperos-taskbar (40.17) focal; urgency=medium * Fixed notification badge sizing on 200% scaled displays -- Artyom Zorin Wed, 21 Jul 2021 13:00:25 +0100 -gnome-shell-extension-zorin-taskbar (40.16) focal; urgency=medium +vesperos-taskbar (40.16) focal; urgency=medium * Fixed bug that caused the panel to disappear after locking the screen while fullscreen content is playing -- Artyom Zorin Wed, 02 Jun 2021 20:24:27 +0100 -gnome-shell-extension-zorin-taskbar (40.15) focal; urgency=medium +vesperos-taskbar (40.15) focal; urgency=medium * Updated translations -- Artyom Zorin Sun, 23 May 2021 20:32:41 +0100 -gnome-shell-extension-zorin-taskbar (40.14) focal; urgency=medium +vesperos-taskbar (40.14) focal; urgency=medium * Fixed new translations -- Artyom Zorin Sun, 23 May 2021 20:26:18 +0100 -gnome-shell-extension-zorin-taskbar (40.13) focal; urgency=medium +vesperos-taskbar (40.13) focal; urgency=medium * Added new translations and made the main panel always appear on the primary display -- Artyom Zorin Sun, 23 May 2021 20:03:46 +0100 -gnome-shell-extension-zorin-taskbar (40.12) focal; urgency=medium +vesperos-taskbar (40.12) focal; urgency=medium * Updated Russian and Japanese translations -- Artyom Zorin Wed, 05 May 2021 20:10:48 +0100 -gnome-shell-extension-zorin-taskbar (40.11) focal; urgency=medium +vesperos-taskbar (40.11) focal; urgency=medium * No longer animates disposed icons -- Artyom Zorin Tue, 06 Apr 2021 13:13:47 +0100 -gnome-shell-extension-zorin-taskbar (40.10) focal; urgency=medium +vesperos-taskbar (40.10) focal; urgency=medium * Added Zorin Appearance link to taskbar right-click menu -- Artyom Zorin Tue, 23 Mar 2021 19:36:07 +0000 -gnome-shell-extension-zorin-taskbar (40.9) focal; urgency=medium +vesperos-taskbar (40.9) focal; urgency=medium * Removed Terminal from right-click menu -- Artyom Zorin Mon, 22 Mar 2021 15:38:20 +0000 -gnome-shell-extension-zorin-taskbar (40.8) focal; urgency=medium +vesperos-taskbar (40.8) focal; urgency=medium * Removed dot style settings and moved Intellihide to Style tab in prefs -- Artyom Zorin Sun, 21 Mar 2021 15:08:03 +0000 -gnome-shell-extension-zorin-taskbar (40.7) focal; urgency=medium +vesperos-taskbar (40.7) focal; urgency=medium * Removed style override for app-well-app items -- Artyom Zorin Sun, 21 Feb 2021 20:00:12 +0000 -gnome-shell-extension-zorin-taskbar (40.6) focal; urgency=medium +vesperos-taskbar (40.6) focal; urgency=medium * Improved styling of progress bars -- Artyom Zorin Sun, 21 Feb 2021 15:54:07 +0000 -gnome-shell-extension-zorin-taskbar (40.5) focal; urgency=medium +vesperos-taskbar (40.5) focal; urgency=medium * Re-based on upstream as at commit e4a71fa014b565171c93d15f436be9c3599b11fb -- Artyom Zorin Sun, 21 Feb 2021 15:22:52 +0000 -gnome-shell-extension-zorin-taskbar (40.4) focal; urgency=medium +vesperos-taskbar (40.4) focal; urgency=medium * Updated notification badge overlay and limited minimum panel size to 24px -- Artyom Zorin Sun, 21 Feb 2021 15:02:09 +0000 -gnome-shell-extension-zorin-taskbar (40.3) focal; urgency=medium +vesperos-taskbar (40.3) focal; urgency=medium * Increased border radius of floating panel and preview container -- Artyom Zorin Sun, 21 Feb 2021 00:50:25 +0000 -gnome-shell-extension-zorin-taskbar (40.2) focal; urgency=medium +vesperos-taskbar (40.2) focal; urgency=medium * Imporved visibility of window previews by styling them with the dash- label class -- Artyom Zorin Thu, 31 Dec 2020 18:34:46 +0000 -gnome-shell-extension-zorin-taskbar (40.1) focal; urgency=medium +vesperos-taskbar (40.1) focal; urgency=medium * Added floating rounded theme when using Intellihide -- Artyom Zorin Wed, 30 Dec 2020 00:44:32 +0000 -gnome-shell-extension-zorin-taskbar (40) focal; urgency=medium +vesperos-taskbar (40) focal; urgency=medium * Re-based on upstream version 40 as at commit 48a69e529614d1da456802b818e7d7f0d4d1d642 -- Artyom Zorin Mon, 28 Dec 2020 22:08:11 +0000 -gnome-shell-extension-zorin-taskbar (2.0.11) bionic; urgency=medium +vesperos-taskbar (2.0.11) bionic; urgency=medium * Set variables to 0 on destroy in taskbar.js -- Artyom Zorin Tue, 19 Feb 2019 18:35:40 +0000 -gnome-shell-extension-zorin-taskbar (2.0.10) bionic; urgency=medium +vesperos-taskbar (2.0.10) bionic; urgency=medium * Fixed bugs with windowPreview peek mode -- Artyom Zorin Fri, 15 Feb 2019 00:13:19 +0000 -gnome-shell-extension-zorin-taskbar (2.0.9) bionic; urgency=medium +vesperos-taskbar (2.0.9) bionic; urgency=medium * Fixed touch support in Gnome Shell 3.30 and made touching an app icon show its window preview if more than one window is opened -- Artyom Zorin Thu, 14 Feb 2019 13:27:40 +0000 -gnome-shell-extension-zorin-taskbar (2.0.8) bionic; urgency=medium +vesperos-taskbar (2.0.8) bionic; urgency=medium * Added definition check when getting taskbar icons -- Artyom Zorin Tue, 05 Feb 2019 18:17:32 +0000 -gnome-shell-extension-zorin-taskbar (2.0.7) bionic; urgency=medium +vesperos-taskbar (2.0.7) bionic; urgency=medium * Fixed _dragInfo definition check -- Artyom Zorin Tue, 05 Feb 2019 14:45:45 +0000 -gnome-shell-extension-zorin-taskbar (2.0.6) bionic; urgency=medium +vesperos-taskbar (2.0.6) bionic; urgency=medium * Fixed name of Taskbar Actor -- Artyom Zorin Sat, 12 Jan 2019 18:35:19 +0000 -gnome-shell-extension-zorin-taskbar (2.0.5) bionic; urgency=medium +vesperos-taskbar (2.0.5) bionic; urgency=medium * Re-based on Dash to Panel as at commit b6094fdaec89349cc6f3e0da887d19fdf3db1c60 -- Artyom Zorin Sat, 12 Jan 2019 16:02:44 +0000 -gnome-shell-extension-zorin-taskbar (2.0.4) bionic; urgency=medium +vesperos-taskbar (2.0.4) bionic; urgency=medium * Re-based on Dash to Panel as at commit 6e53889082eef4eed9cdc1c496e90a6f8450d1fd -- Artyom Zorin Fri, 11 Jan 2019 16:41:36 +0000 -gnome-shell-extension-zorin-taskbar (2.0.3) bionic; urgency=medium +vesperos-taskbar (2.0.3) bionic; urgency=medium * Re-based on Dash to Panel as at commit 8e715c7b07d30bfe0858a1eb93638c653b8bd268 -- Artyom Zorin Tue, 08 Jan 2019 18:46:52 +0000 -gnome-shell-extension-zorin-taskbar (2.0.2) bionic; urgency=medium +vesperos-taskbar (2.0.2) bionic; urgency=medium * Re-based on Dash to Panel as at commit dcd8a017e2a9ae66518ade2ae7a74d9836dd3633 -- Artyom Zorin Thu, 03 Jan 2019 14:27:47 +0000 -gnome-shell-extension-zorin-taskbar (2.0.1) bionic; urgency=medium +vesperos-taskbar (2.0.1) bionic; urgency=medium * Updated URL in metadata.json -- Artyom Zorin Mon, 31 Dec 2018 14:27:13 +0000 -gnome-shell-extension-zorin-taskbar (2.0) bionic; urgency=medium +vesperos-taskbar (2.0) bionic; urgency=medium * Re-based on Dash to Panel commit e2eeb0290152bdf9ea3a9643ce6d36d8ba12813d -- Artyom Zorin Sun, 30 Dec 2018 18:44:22 +0000 -gnome-shell-extension-zorin-taskbar (1.4.4) xenial; urgency=medium +vesperos-taskbar (1.4.4) xenial; urgency=medium * Re-based on Dash to Panel version 13 -- Artyom Zorin Wed, 07 Mar 2018 15:16:36 +0000 -gnome-shell-extension-zorin-taskbar (1.4.3) xenial; urgency=medium +vesperos-taskbar (1.4.3) xenial; urgency=medium * Fixed window preview issue with Remmina -- Artyom Zorin Tue, 06 Mar 2018 22:37:07 +0000 -gnome-shell-extension-zorin-taskbar (1.4.2) xenial; urgency=medium +vesperos-taskbar (1.4.2) xenial; urgency=medium * Various bug fixes -- Artyom Zorin Tue, 06 Mar 2018 20:44:12 +0000 -gnome-shell-extension-zorin-taskbar (1.4.1) xenial; urgency=medium +vesperos-taskbar (1.4.1) xenial; urgency=medium * Added more required imports -- Artyom Zorin Tue, 06 Mar 2018 11:22:48 +0000 -gnome-shell-extension-zorin-taskbar (1.4) xenial; urgency=medium +vesperos-taskbar (1.4) xenial; urgency=medium * Re-based on Dash to Panel version 12 -- Artyom Zorin Tue, 06 Mar 2018 01:25:06 +0000 -gnome-shell-extension-zorin-taskbar (1.3) xenial; urgency=medium +vesperos-taskbar (1.3) xenial; urgency=medium * Added opacify peek on window preview hover -- Artyom Zorin Fri, 28 Jul 2017 00:40:19 +0100 -gnome-shell-extension-zorin-taskbar (1.2.1) xenial; urgency=medium +vesperos-taskbar (1.2.1) xenial; urgency=medium * Removed window preview opening animation -- Artyom Zorin Fri, 14 Apr 2017 20:05:44 +0100 -gnome-shell-extension-zorin-taskbar (1.2) xenial; urgency=medium +vesperos-taskbar (1.2) xenial; urgency=medium * Re-based on Dash to Panel commit 1415cbdf5cadff94f4d9483b4b77676a3a2ea8d1 -- Artyom Zorin Tue, 11 Apr 2017 22:16:41 +0100 -gnome-shell-extension-zorin-taskbar (1.1.5) xenial; urgency=medium +vesperos-taskbar (1.1.5) xenial; urgency=medium * Enabled opening animations for window previews -- Artyom Zorin Thu, 12 Jan 2017 11:54:50 +0000 -gnome-shell-extension-zorin-taskbar (1.1.4) xenial; urgency=medium +vesperos-taskbar (1.1.4) xenial; urgency=medium * App running indicators now appear on top when the panel is on top and bug fixes -- Artyom Zorin Wed, 11 Jan 2017 12:46:23 +0000 -gnome-shell-extension-zorin-taskbar (1.1.3) xenial; urgency=medium +vesperos-taskbar (1.1.3) xenial; urgency=medium * Fixed another high CPU usage issue – credit to jderose9 -- Artyom Zorin Tue, 10 Jan 2017 22:01:51 +0000 -gnome-shell-extension-zorin-taskbar (1.1.2) xenial; urgency=medium +vesperos-taskbar (1.1.2) xenial; urgency=medium * Reduced CPU usage – credit to jderose9 – and improved the responsiveness of DPI changes -- Artyom Zorin Tue, 10 Jan 2017 12:40:58 +0000 -gnome-shell-extension-zorin-taskbar (1.1.1) xenial; urgency=medium +vesperos-taskbar (1.1.1) xenial; urgency=medium * Removed window preview menu enter timeout to fix keygrab focus lockup bug and make the taskbar experience faster -- Artyom Zorin Sun, 08 Jan 2017 20:02:26 +0000 -gnome-shell-extension-zorin-taskbar (1.1) xenial; urgency=medium +vesperos-taskbar (1.1) xenial; urgency=medium * Added full support for HiDPI displays -- Artyom Zorin Mon, 02 Jan 2017 00:28:46 +0000 -gnome-shell-extension-zorin-taskbar (1.0.6) xenial; urgency=medium +vesperos-taskbar (1.0.6) xenial; urgency=medium * Fixed a number of memory leaks in the Window Preview code -- Artyom Zorin Tue, 27 Dec 2016 15:53:08 +0000 -gnome-shell-extension-zorin-taskbar (1.0.5) xenial; urgency=medium +vesperos-taskbar (1.0.5) xenial; urgency=medium * Updated copyright notices -- Artyom Zorin Fri, 04 Nov 2016 14:34:48 +0000 -gnome-shell-extension-zorin-taskbar (1.0.4) xenial; urgency=medium +vesperos-taskbar (1.0.4) xenial; urgency=medium * Disconnected signals -- Artyom Zorin Sun, 23 Oct 2016 13:43:35 +0100 -gnome-shell-extension-zorin-taskbar (1.0.3) xenial; urgency=medium +vesperos-taskbar (1.0.3) xenial; urgency=medium * Fixed Work ID issue -- Artyom Zorin Thu, 20 Oct 2016 22:59:07 +0100 -gnome-shell-extension-zorin-taskbar (1.0.2) xenial; urgency=medium +vesperos-taskbar (1.0.2) xenial; urgency=medium * Ready for public use in Zorin OS 12 -- Artyom Zorin Sun, 18 Sep 2016 20:24:18 +0100 -gnome-shell-extension-zorin-taskbar (1.0.1) xenial; urgency=medium +vesperos-taskbar (1.0.1) xenial; urgency=medium * Updated copyright notice -- Zorin OS Mon, 12 Sep 2016 19:23:04 +0100 -gnome-shell-extension-zorin-taskbar (1.0) xenial; urgency=medium +vesperos-taskbar (1.0) xenial; urgency=medium * Initial stable release -- Zorin OS Sat, 03 Sep 2016 23:19:10 +0100 -gnome-shell-extension-zorin-taskbar (0.9) xenial; urgency=low +vesperos-taskbar (0.9) xenial; urgency=low * Pre-release diff --git a/debian/control b/debian/control index 5d2a37c..6f54e9d 100644 --- a/debian/control +++ b/debian/control @@ -1,13 +1,20 @@ -Source: gnome-shell-extension-zorin-taskbar +Source: vesperos-taskbar Section: gnome Priority: optional -Maintainer: Artyom Zorin -Build-Depends: debhelper-compat (= 13), libglib2.0-bin, zip +Maintainer: VesperOS Desktop Team +Build-Depends: debhelper-compat (= 13), libglib2.0-bin, zip, gettext Standards-Version: 4.6.0 Rules-Requires-Root: no -Package: gnome-shell-extension-zorin-taskbar +Package: vesperos-taskbar Architecture: all -Depends: ${misc:Depends}, gnome-shell (>= 46), gnome-shell (<< 49~) -Description: Zorin Taskbar extension - A taskbar extension for the Zorin OS desktop. +Depends: ${misc:Depends}, gnome-shell (>= 46), gnome-shell (<< 51~) +Conflicts: gnome-shell-extension-zorin-taskbar, gnome-shell-extension-desktop-icons-ng, gnome-shell-extension-gtk4-desktop-icons-ng +Replaces: gnome-shell-extension-zorin-taskbar, gnome-shell-extension-desktop-icons-ng, gnome-shell-extension-gtk4-desktop-icons-ng +Description: VesperOS system taskbar with desktop icons (all-in-one) + Bundles the Zorin Taskbar panel extension and the Gtk4 Desktop Icons NG + (DING) extension into a single package for the VesperOS desktop. + . + Installs two GNOME Shell extensions: + - vesperos-taskbar@oxmc.me (taskbar panel) + - gtk4-ding@smedius.gitlab.com (desktop icon management) diff --git a/debian/copyright b/debian/copyright index 32e03ff..b6baebb 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,5 +1,5 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: gnome-shell-extension-zorin-taskbar +Upstream-Name: vesperos-taskbar Files: * Copyright: 2016-2025, Jason DeRose (https://github.com/jderose9) diff --git a/debian/install b/debian/install index 6a4cf89..36f0a8c 100644 --- a/debian/install +++ b/debian/install @@ -1 +1,2 @@ -schemas/org.gnome.shell.extensions.zorin-taskbar.gschema.xml usr/share/glib-2.0/schemas +schemas/org.gnome.shell.extensions.vesperos-taskbar.gschema.xml usr/share/glib-2.0/schemas +schemas/org.gnome.shell.extensions.vesperos-taskbar.desktop-icons.gschema.xml usr/share/glib-2.0/schemas diff --git a/debian/rules b/debian/rules index 897d1f9..face5c8 100755 --- a/debian/rules +++ b/debian/rules @@ -1,9 +1,61 @@ #!/usr/bin/make -f +PKG_DIR = $(CURDIR)/debian/vesperos-taskbar +EXT_DIR = $(PKG_DIR)/usr/share/gnome-shell/extensions/vesperos-taskbar@oxmc.me + %: dh $@ +override_dh_auto_build: + # Compile vesperos-taskbar gschema + locale files + $(MAKE) + # Compile DING GResource bundle (output goes into ding/app/ for install) + glib-compile-resources \ + --sourcedir=$(CURDIR)/ding/data \ + --target=$(CURDIR)/ding/app/com.desktop.ding.data.gresource \ + $(CURDIR)/ding/data/com.desktop.ding.data.gresource.xml + # Compile DING .po locale files to .mo + for po in $(CURDIR)/ding/po/*.po; do \ + lang=$$(basename $$po .po); \ + mkdir -p $(CURDIR)/ding/po/mo/$$lang/LC_MESSAGES; \ + msgfmt -o $(CURDIR)/ding/po/mo/$$lang/LC_MESSAGES/gtk4-ding.mo $$po; \ + done + # Process AppArmor profile template + sed 's|@PREFIX@|/usr|g' $(CURDIR)/ding/apparmor/gtk4-desktop-icons.in \ + > $(CURDIR)/ding/apparmor/gtk4-desktop-icons + override_dh_install: dh_install - rm -f debian/gnome-shell-extension-zorin-taskbar/usr/share/gnome-shell/extensions/zorin-taskbar@zorinos.com/COPYING - rm -f debian/gnome-shell-extension-zorin-taskbar/usr/share/gnome-shell/extensions/zorin-taskbar@zorinos.com/README.md + rm -f $(EXT_DIR)/COPYING + rm -f $(EXT_DIR)/README.md + # --- DING shell-side JS (in ding/ subdir so relative imports resolve) --- + mkdir -p $(EXT_DIR)/ding + install -m 644 $(CURDIR)/ding/dingManager.js $(EXT_DIR)/ding/ + install -m 644 $(CURDIR)/ding/gnomeShellOverride.js $(EXT_DIR)/ding/ + install -m 644 $(CURDIR)/ding/emulateX11WindowType.js $(EXT_DIR)/ding/ + install -m 644 $(CURDIR)/ding/visibleArea.js $(EXT_DIR)/ding/ + cp -r $(CURDIR)/ding/utils $(EXT_DIR)/ding/ + cp -r $(CURDIR)/ding/dependencies $(EXT_DIR)/ding/ + # --- DING GTK4 subprocess app/ (inside ding/ so all relative imports resolve) --- + cp -r $(CURDIR)/ding/app $(EXT_DIR)/ding/ + chmod -R a+rX $(EXT_DIR)/ding/app + chmod +x $(EXT_DIR)/ding/app/adw-ding.js + # --- DING desktop entry --- + mkdir -p $(PKG_DIR)/usr/share/applications + install -m 644 $(CURDIR)/ding/data/com.desktop.ding.desktop \ + $(PKG_DIR)/usr/share/applications/ + # --- DING AppArmor profile --- + mkdir -p $(PKG_DIR)/etc/apparmor.d + install -m 644 $(CURDIR)/ding/apparmor/gtk4-desktop-icons \ + $(PKG_DIR)/etc/apparmor.d/ + # --- DING app icon --- + mkdir -p $(PKG_DIR)/usr/share/icons/hicolor/scalable/apps + install -m 644 $(CURDIR)/ding/data/icons/com.desktop.ding.svg \ + $(PKG_DIR)/usr/share/icons/hicolor/scalable/apps/ + # --- DING compiled locales --- + for lang_dir in $(CURDIR)/ding/po/mo/*/; do \ + lang=$$(basename $$lang_dir); \ + install -d $(PKG_DIR)/usr/share/locale/$$lang/LC_MESSAGES; \ + install -m 644 $$lang_dir/LC_MESSAGES/gtk4-ding.mo \ + $(PKG_DIR)/usr/share/locale/$$lang/LC_MESSAGES/; \ + done diff --git a/debian/vesperos-taskbar.postinst b/debian/vesperos-taskbar.postinst new file mode 100755 index 0000000..eb05e64 --- /dev/null +++ b/debian/vesperos-taskbar.postinst @@ -0,0 +1,13 @@ +#!/bin/sh +set -e + +if [ "$1" = "configure" ]; then + if command -v glib-compile-schemas >/dev/null 2>&1; then + glib-compile-schemas /usr/share/glib-2.0/schemas/ || true + fi + if command -v apparmor_parser >/dev/null 2>&1 && [ -f /etc/apparmor.d/gtk4-desktop-icons ]; then + apparmor_parser -r /etc/apparmor.d/gtk4-desktop-icons || true + fi +fi + +#DEBHELPER# diff --git a/debian/vesperos-taskbar.postrm b/debian/vesperos-taskbar.postrm new file mode 100755 index 0000000..22c3926 --- /dev/null +++ b/debian/vesperos-taskbar.postrm @@ -0,0 +1,13 @@ +#!/bin/sh +set -e + +if [ "$1" = "remove" ] || [ "$1" = "purge" ]; then + if command -v glib-compile-schemas >/dev/null 2>&1; then + glib-compile-schemas /usr/share/glib-2.0/schemas/ || true + fi + if command -v apparmor_parser >/dev/null 2>&1 && [ -f /etc/apparmor.d/gtk4-desktop-icons ]; then + apparmor_parser -R /etc/apparmor.d/gtk4-desktop-icons || true + fi +fi + +#DEBHELPER# diff --git a/ding/app/adw-ding.js b/ding/app/adw-ding.js new file mode 100755 index 0000000..53674df --- /dev/null +++ b/ding/app/adw-ding.js @@ -0,0 +1,598 @@ +#!/usr/bin/env -S gjs -m + +/* ADW-DING: Desktop Icons New Generation for GNOME Shell + * + * Copyright (C) 2025 Sundeep Mediratta + * Based on code original (C) Carlos Soriano (C) 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, 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 . + */ + +import {Gio, GLib, Adw, GObject} from '../dependencies/gi.js'; +import * as Gettext from 'gettext'; +import { + Preferences, + AdwPreferencesWindow, + Enums, + DBusUtils, + DesktopIconsUtil, + DesktopManager, + Thumbnails +} from '../dependencies/localFiles.js'; + +import * as FileUtils from '../utils/fileUtils.js'; +import * as System from 'system'; + +Gio._promisify(Gio.AppInfo, 'launch_default_for_uri_async'); +Gio._promisify(Gio.FileEnumerator.prototype, 'close_async'); +Gio._promisify(Gio.FileEnumerator.prototype, 'next_files_async'); +Gio._promisify(Gio.Subprocess.prototype, 'wait_check_async'); +Gio._promisify(Gio.DataInputStream.prototype, 'read_line_async', 'read_line_finish'); + +const fileProto = imports.system.version >= 17200 + ? Gio.File.prototype : Gio._LocalFilePrototype; + +Gio._promisify(fileProto, 'delete_async'); +Gio._promisify(fileProto, 'enumerate_children_async'); +Gio._promisify(fileProto, 'load_bytes_async'); +Gio._promisify(fileProto, 'make_directory_async'); +Gio._promisify(fileProto, 'query_info_async'); +Gio._promisify(fileProto, 'set_attributes_async'); +Gio._promisify(fileProto, 'replace_contents_async'); +Gio._promisify(fileProto, 'load_contents_async'); + +const getTextDomain = 'gtk4-ding'; +const appID = 'com.desktop.ding'; +const testAppID = `${appID}test`; + +const adWDingApp = GObject.registerClass( + class adwDingApp extends Adw.Application { + constructor(asDesktop = false) { + super({ + application_id: asDesktop ? appID : testAppID, + resource_base_path: `/${appID.split('.').join('/')}`, + flags: + Gio.ApplicationFlags.HANDLES_COMMAND_LINE | + Gio.ApplicationFlags.REPLACE, + }); + this.asDesktop = asDesktop; + + // Connect application signals + this.connect('startup', this._onStartup.bind(this)); + this.connect('command-line', this._onCommandLine.bind(this)); + this.connect('activate', this._onActivate.bind(this)); + this.connect('shutdown', this._onShutdown.bind(this)); + } + + _onStartup() { + this.codePath = + GLib.path_get_dirname(System.programPath); + + this.systemInstall = this.codePath.startsWith('/usr'); + + this.extensionDir = GLib.path_get_dirname(this.codePath); + + const localePath = GLib.build_filenamev( + [this.extensionDir, 'locale'] + ); + + if (Gio.File.new_for_path(localePath).query_exists(null)) + Gettext.bindtextdomain(getTextDomain, localePath); + + const resourcePath = GLib.build_filenamev( + [this.codePath, `${appID}.data.gresource`]); + + const resource = Gio.Resource.load(resourcePath); + resource._register(); + + this._initializeOptions(); + + if (!this.systemInstall) { + console.log('Local install detected, updating icon cache...'); + this._updateIconCache().catch(e => logError(e)); + this._updateAppInfoCache().catch(e => logError(e)); + } + } + + _onShutdown() { + if (this.systemInstall) + return; + + if (this.appIcon) + this._removeFile(this.appIcon); + if (this.appDesktopFile) + this._removeFile(this.appDesktopFile); + } + + // eslint-disable-next-line consistent-return + _onCommandLine(app, commandLine) { + let argv = []; + argv = commandLine.get_arguments(); + try { + // Parse options from the main arguments + this._parseOptions(argv); + this._initializeDesktopOptions(); + } catch (e) { + console.log(`Error parsing options: ${e.message}`); + this.errorFound = true; + } + + if (!this.errorFound && !this.showHelp) { + if (commandLine.get_is_remote()) { + this.desktops = this.newdesktops; + const windowManager = this.desktopManager.windowManager; + windowManager.updateGridWindows(this.desktops); + // If testing Dbus activations, comment the above + // and uncomment the following - + // or get remote actions from the app and activate + // this.desktopVariants = this.newDesktopsVariants; + // this.remoteDingActions.activate_action('updateGridWindows', + // new GLib.Variant('av', this.desktopVariants)); + // OR smiply activate the app action directly + // app.activate_action( + // 'updateGridWindows', + // new GLib.Variant('av', this.desktopVariants) + // ); + } else { + this._finishStartUp(app); + app.activate(); + } + commandLine.set_exit_status(0); + return 0; + } + + if (this.showHelp) { + this._printUsage(); + commandLine.set_exit_status(0); + return 0; + } + + if (this.errorFound) { + this._printUsage(); + commandLine.set_exit_status(1); + return 1; + } + } + + _finishStartUp(app) { + this.Data = { + 'codePath': this.codePath, + 'extensionPath': this.extensionDir, + Enums, + 'gnomeversion': this.gnomeversion, + 'programversion': this.programversion, + 'uuid': this.uuid, + 'mainApp': app, + }; + this.Utils = {FileUtils}; + + this.Utils.DBusUtils = + new DBusUtils.DBusUtils(app); + + this.Utils.ThumbnailLoader = + new Thumbnails.ThumbnailLoader(this.Utils.FileUtils); + + this.Utils.Preferences = + new Preferences.Preferences(this.Data, AdwPreferencesWindow); + + this.Utils.DesktopIconsUtil = + new DesktopIconsUtil.DesktopIconsUtil(this.Data, this.Utils); + } + + _onActivate() { + if (!this.desktopManager) { + this.desktops = this.newdesktops; + this.desktopManager = new DesktopManager.DesktopManager( + this.Data, + this.Utils, + this.desktops, + this.codePath, + this.asDesktop, + this.primaryIndex + ); + } + } + + _parseOptions(args) { + this.newdesktops = []; + this.newDesktopsVariants = []; + + // modified for GJS to work like passing optioncontext + args.forEach((arg, index, array) => { + this.options.some(entry => { + const longname = arg === `--${entry.long_name}`; + const shortname = arg === `-${entry.short_name}`; + + if (longname || shortname) { + const assignFunction = entry.arg_data; + + if (entry.arg === GLib.OptionArg.NONE) { + assignFunction(); + return true; + } + + let value; + + if (longname && entry.long_name.includes('=')) + value = entry.split('=')[1]; + else + value = array[index += 1] ?? null; + + assignFunction(value); + + return true; + } + return false; + }); + }); + } + + _printUsage() { + // OptionContext does not work in GJS, modifed version + // const helptext = this.optionsContext.get_help(false, null); + let helpMessage = + 'Usage: gjs -m adw-ding.js [OPTIONS]\n\nOptions:\n'; + + this.options.forEach(entry => { + const shortOption = entry.short_name + ? `-${entry.short_name}` : ''; + + const argDescription = entry.arg_description + ? ` ${entry.arg_description}` : ''; + + helpMessage += ` ${shortOption}, --${entry.long_name}` + + ` ${argDescription}\n\n`; + + if (this.showHelp) + helpMessage += ` ${entry.description}\n\n`; + }); + print(helpMessage); + } + + _initializeObjects() { + this.errorFound = false; + this.showHelp = false; + this.gnomeversion = 40; + this.primaryIndex = 0; + this.programversion = 'Testing'; + this.uuid = 'testing@gtk4-ding'; + this.desktops = []; + this.desktopVariants = []; + this.Data = {}; + + // Code for checking Dbus actions and remote controlling the app + // via DBus - see commented code in commanline invocation. + // + // const dbusID = this.asDesktop ? appID : testAppID; + // const dbusPath = `${dbusID}.actions`.split('.').join('/'); + // this.remoteDingActions = Gio.DBusActionGroup.get( + // Gio.DBus.session, + // dbusID, + // dbusPath + // ); + } + + _initializeOptions() { + this._initializeObjects(); + // Define options, similar to GLib.optionEntry for GJS + this.options = [ + { + long_name: 'asdesktop', + short_name: 'E', + flags: 0, + arg: GLib.OptionArg.NONE, + arg_data: () => (this.asDesktop = true), + description: 'run as desktop (with transparent window, ' + + 'reacting to data from the extension...', + arg_description: 'as desktop flag', + }, + { + long_name: 'help', + short_name: 'h', + flags: 0, + arg: GLib.OptionArg.NONE, + arg_data: () => (this.showHelp = true), + description: 'show this help', + arg_description: 'help flag', + }, + { + long_name: 'shellversion', + short_name: 'V', + flags: 0, + arg: GLib.OptionArg.STRING, + arg_data: value => (this.gnomeversion = value), + description: + 'pass the gnome version to the DING application', + arg_description: 'gnome shell version', + }, + { + long_name: 'extensionversion', + short_name: 'v', + flags: 0, + arg: GLib.OptionArg.STRING, + arg_data: value => (this.programversion = value), + description: 'pass the version-name of the program to ' + + 'display in extension/DING preferences', + arg_description: 'application/extension version', + }, + { + long_name: 'monitor', + short_name: 'M', + flags: 0, + arg: GLib.OptionArg.CALLBACK, + arg_data: value => (this.primaryIndex = parseInt(value)), + description: 'index of the primary monitor', + arg_description: 'primary monitor index', + }, + { + long_name: 'uuid', + short_name: 'U', + flags: 0, + arg: GLib.OptionArg.STRING, + arg_data: value => (this.uuid = value), + description: 'pass the uuid of the extension to use in ' + + 'the DING application', + arg_description: 'extension uuid', + }, + { + long_name: 'desktop', + short_name: 'D', + flags: 0, + arg: GLib.OptionArg.CALLBACK, + arg_data: data => this._parseDesktopData(data), + description: +`monitor and desktop data- + + x: X coordinate + y: Y coordinate + w: width in pixels + h: height in pixels + z: zoom value (must be greater than or equal to one) + t: top margin in pixels + b: bottom margin in pixels + l: left margin in pixels + r: right margin in pixels + i: monitor index (0, 1...) + + multiple "-D" options can be set for multi monitor setup`, + arg_description: + 'x:y:w:h:z:t:b:l:r:i -string with monitor dimensions', + }, + ]; + + // This does not work in GJS - constructor cannot be called - + // therefore alternative implementation for the following + // + // this.optionsContext = + // new GLib.OptionContext('Adw Desktop Icons Application'); + // + // this.optionsContext.add_main_entries(options, getTextDomain); + } + + _parseDesktopData(data) { + data = data.split(':'); + + if (data.length !== 10) + throw new Error('Incorrect number of parameters for -D\n'); + + if (parseFloat(data[4]) < 1.0) + throw new Error('Error: ZOOM value can not be less than one\n'); + + const dataObject = { + x: parseInt(data[0]), + y: parseInt(data[1]), + width: parseInt(data[2]), + height: parseInt(data[3]), + zoom: parseFloat(data[4]), + marginTop: parseInt(data[5]), + marginBottom: parseInt(data[6]), + marginLeft: parseInt(data[7]), + marginRight: parseInt(data[8]), + monitorIndex: parseInt(data[9]), + }; + + if (Object.values(dataObject).some(x => isNaN(x))) + throw new Error('Incorrect non numeric value in -D data \n'); + + this.newdesktops.push(dataObject); + } + + _initializeDesktopOptions() { + if (!this.newdesktops.length && !this.asDesktop) { + /* if no desktop list is provided, + * like when launching the program in stand-alone mode, + * configure a 1280x720 desktop + */ + const data = '0:0:1280:720:1:0:0:0:0:0'; + this._parseDesktopData(data); + } + + this.newdesktops.forEach(d => + (d.primaryMonitor = this.primaryIndex)); + + this.newDesktopsVariants = this.newdesktops.map(d => { + return new GLib.Variant('a{sd}', { + x: d.x, + y: d.y, + width: d.width, + height: d.height, + zoom: d.zoom, + marginTop: d.marginTop, + marginBottom: d.marginBottom, + marginLeft: d.marginLeft, + marginRight: d.marginRight, + monitorIndex: d.monitorIndex, + primaryMonitor: d.primaryMonitor, + }); + }); + } + + async _installFile(resourcePath, destinationPath) { + const resourceFile = Gio.File.new_for_uri(resourcePath); + const destinationFile = Gio.File.new_for_path(destinationPath); + + const [contents] = + await resourceFile.load_contents_async(null); + + if (!contents) + return false; + + if (destinationFile.query_exists(null)) { + const [existingContents] = + await destinationFile.load_contents_async(null); + + const fileName = GLib.path_get_basename(destinationPath); + + if (this._memcmp(contents, existingContents)) + console.log(`Already up-to-date: ${fileName}`); + else + console.log(`User installed file ${fileName} exists`); + + return false; + } + + try { + await destinationFile.replace_contents_async( + contents, + null, + false, + Gio.FileCreateFlags.REPLACE_DESTINATION, + null + ); + + console.log( + `Updated: ${GLib.path_get_basename(destinationPath)}` + ); + } catch (e) { + if (e.matches( + Gio.IOErrorEnum, + Gio.IOErrorEnum.NOT_FOUND + )) { + GLib.mkdir_with_parents( + GLib.path_get_dirname(destinationPath), + 0o700 + ); + console.log( + 'Created missing parent directories: ' + + `${GLib.path_get_dirname(destinationPath)}` + ); + + const retval = await this._installFile( + resourcePath, + destinationPath + ); + + return retval; + } + + return false; + } + + return true; + } + + _removeFile(destinationPath) { + const destinationFile = Gio.File.new_for_path(destinationPath); + + try { + if (destinationFile.query_exists(null)) + destinationFile.delete(null); + + console.log( + 'Cleaning up, removed: ' + + `${GLib.path_get_basename(destinationPath)}` + ); + } catch (e) { + logError(e); + } + } + + async _updateIconCache() { + const appPath = `/${appID.split('.').join('/')}`; + const iconPath = '/icons/hicolor/scalable/apps'; + const iconResrc = `resource://${appPath}${iconPath}/${appID}.svg`; + + const appIcon = GLib.build_filenamev([ + GLib.get_user_data_dir(), + `${iconPath}`, + `${appID}.svg`, + ]); + + const written = await this._installFile(iconResrc, appIcon); + + if (written) { + this.appIcon = appIcon; + + const iconCachePath = GLib.build_filenamev([ + GLib.get_user_data_dir(), + 'icons', + 'hicolor', + ]); + + const updated = await GLib.spawn_command_line_async( + 'gtk-update-icon-cache ' + + '-q -t -f ' + + `${iconCachePath}` + ); + + if (updated) + console.log('Updated icon cache'); + } + } + + async _updateAppInfoCache() { + const appPath = `/${appID.split('.').join('/')}`; + const appResource = `resource://${appPath}/${appID}.desktop`; + + const appDesktopFile = GLib.build_filenamev([ + GLib.get_user_data_dir(), + 'applications', + `${appID}.desktop`, + ]); + + const written = + await this._installFile(appResource, appDesktopFile); + + if (written) { + this.appDesktopFile = appDesktopFile; + + // Gnome will update the app info cache automatically + // However it takes a long time to update the cache + // and we need to do it manually for the app to be + // available sooner + const updated = await GLib.spawn_command_line_async( + 'update-desktop-database -q ' + + `${GLib.path_get_dirname(appDesktopFile)}` + ); + + if (updated) + console.log('Updated desktop database'); + } + } + + _memcmp(a, b) { + if (a.length !== b.length) + return false; + + if (a.some((x, i) => x !== b[i])) + return false; + + return true; + } + } +); + +const asDesktop = ARGV.includes('-E'); +const app = new adWDingApp(asDesktop); + +System.exit(await app.runAsync(ARGV)); diff --git a/ding/app/adwPreferencesWindow.js b/ding/app/adwPreferencesWindow.js new file mode 100644 index 0000000..7dae7b0 --- /dev/null +++ b/ding/app/adwPreferencesWindow.js @@ -0,0 +1,900 @@ +/* Desktop Icons GNOME Shell extension + * + * Copyright (C) 2023 Sundeep Mediratta (smedius@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, 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 . + */ +import {Gtk, Gdk, Gio, GLib, GObject, Adw} from '../dependencies/gi.js'; +import {DesktopWidgetCapability} from '../dependencies/gi.js'; +import {_} from '../dependencies/gettext.js'; +import {DesktopFolderUtils} from '../dependencies/localFiles.js'; + +export {AdwPreferencesWindow}; + +const appID = 'com.desktop.ding'; +const appPath = GLib.build_filenamev(['/', ...appID.split('.')]); + +const ListObject = GObject.registerClass({ + GTypeName: 'peferences-list', + Properties: { + 'indexkey': GObject.ParamSpec.string( + 'indexkey', + 'Indexkey', + 'A read-write string property', + GObject.ParamFlags.READWRITE, + '' + ), + 'description': GObject.ParamSpec.string( + 'description', + 'Description', + 'A read-write string property', + GObject.ParamFlags.READWRITE, + '' + ), + }, +}, class listObject extends GObject.Object { + constructor(constructProperties = {}) { + super(constructProperties); + } + + get indexkey() { + if (this._indexkey === undefined) + this._indexkey = ''; + + return this._indexkey; + } + + set indexkey(value) { + if (this.indexkey === value) + return; + + this._indexkey = value; + this.notify('indexkey'); + } + + get description() { + if (this._description === undefined) + this._description = ''; + + return this._description; + } + + set description(value) { + if (this.description === value) + return; + + this._description = value; + this.notify('description'); + } +}); + +const ComboRowWithKey = GObject.registerClass({ + GTypeName: 'ComboRowWithKey', + Properties: { + 'indexkey': GObject.ParamSpec.string( + 'indexkey', + 'Indexkey', + 'A read-write string property', + GObject.ParamFlags.READWRITE, + '' + ), + }, +}, class ComboRowWithKey extends Adw.ComboRow { + constructor(constructProperties = {}) { + super(constructProperties); + this._indexKey = ''; + this.connect('notify::selected-item', () => { + let item = this.get_selected_item(); + this.indexkey = item.indexkey; + }); + } + + makeEnumn(enumexpression) { + const listStore = new Gio.ListStore(ListObject._$gtype); + this.enumExpression = {}; + let i = 0; + for (let key in enumexpression) { + this.enumExpression[key] = parseInt(i); + let listObject = new ListObject(); + listObject.indexkey = key; + listObject.description = enumexpression[key]; + listStore.append(listObject); + i += 1; + } + + this.set_model(listStore); + + const listFactory = new Gtk.SignalListItemFactory(); + listFactory.connect('setup', (_actor, listitem) => { + let label = new Gtk.Label(); + listitem.set_child(label); + }); + listFactory.connect('bind', (_actor, listitem) => { + let label = listitem.get_child(); + let item = listitem.get_item(); + label.set_text(item.description); + }); + this.set_factory(listFactory); + + const expression = new Gtk.PropertyExpression(ListObject, + null, + 'description' + ); + this.set_expression(expression); + } + + get indexkey() { + if (this._indexkey === undefined) + this._indexkey = ''; + + return this._indexkey; + } + + set indexkey(value) { + if (this.indexkey === value) + return; + + this._indexkey = value; + + if (this.get_selected !== this.enumExpression[value]) + this.set_selected(this.enumExpression[value]); + + this.notify('indexkey'); + } +}); + +const CssOverrideGroup = GObject.registerClass( +class CssOverrideGroup extends Adw.PreferencesGroup { + constructor(params = {}) { + super({}); + this.set_title(_('CSS Override')); + this.set_description(_('Customise the appearance of desktop icons with CSS')); + const warningLabel = new Gtk.Label(); + warningLabel.set_markup( + `${ + _('Warning: This can break the extension if done incorrectly') + }` + ); + this.add(warningLabel); + const icon = Gtk.Image.new_from_icon_name('window-pop-out-symbolic'); + this.cssOverrideButton = new Adw.ActionRow({ + title: _('Edit CSS Override File...'), + }); + this.cssOverrideButton.add_suffix(icon); + this.cssOverrideButton.set_activatable_widget(icon); + this.cssOverrideButton.connect('activated', this.openUserCssOverrideFile.bind(this)); + this.add(this.cssOverrideButton); + + this.reloadButtonRow = new Adw.ActionRow({ + title: _('Apply CSS Changes Now'), + subtitle: _('Reload the CSS to apply changes immediately'), + + }); + const button = Gtk.Button.new_with_label('Reload'); + button.set_size_request(120, -1); + button.set_halign(Gtk.Align.END); + button.set_valign(Gtk.Align.CENTER); + button.set_hexpand(true); + button.set_vexpand(false); + + button.connect('clicked', () => { + this.reloadCSS(); + }); + this.reloadButtonRow.add_suffix(button); + this.reloadButtonRow.set_activatable_widget(button); + this.add(this.reloadButtonRow); + this.update(params.remoteActions); + } + + reloadCSS() { + try { + this.remoteActions.activate_action('reloadCSS', null); + console.info('CSS reload requested'); + } catch (e) { + console.error(`Failed to reload CSS: ${e}`); + } + } + + update(remoteActions) { + this.remoteActions = remoteActions; + if (this.remoteActions?.list_actions()) + this.reloadButtonRow.set_sensitive(true); + else + this.reloadButtonRow.set_sensitive(false); + } + + + openUserCssOverrideFile() { + const configDir = GLib.get_user_config_dir(); + const cssFile = Gio.File.new_for_path( + GLib.build_filenamev([configDir, appID, 'stylesheet-override.css']) + ); + + // Create directory if it doesn't exist + const cssDir = cssFile.get_parent(); + try { + cssDir.make_directory_with_parents(null); + } catch (e) { + // Directory already exists + } + + // Create file if it doesn't exist + if (!cssFile.query_exists(null)) + cssFile.create(Gio.FileCreateFlags.NONE, null); + + + // Open with default text editor + const context = Gdk.Display.get_default().get_app_launch_context(); + context.set_timestamp(Gdk.CURRENT_TIME); + Gio.AppInfo.launch_default_for_uri(cssFile.get_uri(), context); + } +}); + +const ShortcutGroup = GObject.registerClass( +class ShortcutGroup extends Adw.PreferencesGroup { + constructor(params = {}) { + super({}); + this.set_title(_('Shortcuts')); + + this.shortcutButton = new Adw.ActionRow({ + title: _('Edit Shortcuts...'), + }); + const icon = Gtk.Image.new_from_icon_name('window-pop-out-symbolic'); + this.shortcutButton.add_suffix(icon); + this.shortcutButton.set_activatable_widget(icon); + + this.shortcutButton.connect('activated', this.showShortcuts.bind(this)); + this.add(this.shortcutButton); + this.update(params.remoteActions); + } + + update(remoteActions) { + this.remoteActions = remoteActions; + if (this.remoteActions?.list_actions()) { + this.shortcutButton.set_sensitive(true); + this.set_description(_('Edit Application Shortcuts')); + } else { + this.shortcutButton.set_sensitive(false); + + this.set_description( + _('Shortcuts Editable only when Extension Enabled...') + ); + } + } + + showShortcuts() { + this.remoteActions.activate_action('showShortcutViewer', null); + } +}); + +const aboutApp = class AboutDialog { + constructor(params = {}) { + this.version = params.version; + this.appID = appID; + const aboutDialog = Adw.AboutDialog.new(); + this.init(aboutDialog); + return aboutDialog; + } + + init(aboutDialog) { + aboutDialog.modal = true; + aboutDialog.set_application_icon(this.appID); + aboutDialog.set_application_name('Adw. Desktop Icons'); + + aboutDialog.set_comments( + 'An application to show Icons on the Gnome Desktop' + ); + + aboutDialog.set_copyright('© 2025 Sundeep Mediratta'); + aboutDialog.set_developer_name('Sundeep Mediratta'); + + aboutDialog.set_comments( + 'Adw. Desktop Icons is an extension and a program together for ' + + 'the GNOME Shell that renders icons on the desktop. It is a fork ' + + 'from Desktop Icons NG (DING), by Sergio Costas, which itself ' + + 'is a fork/rewrite of the official "Desktop Icons" extension, ' + + 'originally by Carlos Soriano.' + + '\n\n' + + 'All these came into existence when Nautilus and Gnome decided ' + + 'to drop showing a "Desktop" with Icons!' + + '\n\n' + + 'Many thanks to the original developers of Desktop Icons NG, ' + + 'specially Sergio Costas for his work on ' + + 'Meta.WaylandClient that makes this privileged window possible in' + + 'the first place and to Florian Müllner for implementing ' + + 'Meta.Windotype.DESKTOP through Meta.WaylandClient, which makes ' + + 'this so much easier!' + ); + + aboutDialog.add_credit_section( + 'Originally developed by', + [ + 'Sergio Costas', + 'Carlos Soriano', + ] + ); + + aboutDialog.add_acknowledgement_section( + 'For coding Meta.WaylandClient in mutter', + ['Sergio Costas'] + ); + + aboutDialog.add_acknowledgement_section( + 'Enabling Meta.Windowtype.DESKTOP\nthrough Meta.Waylandclient', + ['Florian Müllner'] + ); + + aboutDialog.add_acknowledgement_section( + 'Async code contribution', + ['Marco Trevisan'] + ); + + aboutDialog.add_acknowledgement_section( + 'Gnome Extensions Matrix Channel support', + [ + 'Andy Holmes', + 'Just Perfection', + 'And Others..', + ] + ); + + aboutDialog.add_acknowledgement_section( + 'GJS Maintainers for GJS\n@ptomato for answering', + ['@ptomato'] + ); + + aboutDialog.set_license_type(Gtk.License.GPL_3_0); + + aboutDialog.set_issue_url( + 'https://gitlab.com/smedius/desktop-icons-ng/-/issues' + ); + + aboutDialog.set_support_url( + 'https://gitlab.com/smedius/desktop-icons-ng/-/blob/main/ISSUES.md?ref_type=heads' + ); + + aboutDialog.set_translator_credits( + `Weblate Translators, See History.MD on website. Translated using machine translation with LibreTranslate. Unverified strings, translation may contain errors. Corrections, verification and additional translation can be done on Weblate. + Translations available in- ar,az,be,bg,bn,ca,cs,da,de,el,eo,es,et,eu,fa,fi,fr,fur,ga,gl,he,hi,hr,hu,id,it,ja,ka,ko,ky,lv,lt,ms,nb,nb_NO,nl,oc,pl,pt_BR,pt,ro,ru,sk,sl,sq,sv,ta,tl,tr,th,uk,ur,zh-Hans,zh-Hant,zh_CN,zh_TW.` + ); + + aboutDialog.set_version(this.version); + aboutDialog.set_website('https://gitlab.com/smedius/desktop-icons-ng'); + + aboutDialog.add_link( + _('Help translate in your web browser'), + 'https://hosted.weblate.org/engage/gtk4-desktop-icons-ng' + ); + + aboutDialog.set_release_notes( + `

* Adw version 100.17 for Gnome 45, 46, 47, 48, 49

+
  • Widget polish: grid controls, media widgets, webview reattach, redisplay, and animation.
+

* Adw version 100.16 for Gnome 45, 46, 47, 48, 49

+
  • Fixes -Empty window not mapping, icon placement with monitor hotplug
+

* Adw version 100.15 for Gnome 45, 46, 47, 48, 49

+
  • Uses GSK instead of Cairo to draw, optimizing GPU, minimizing CPU
+
  • Fixes widget positioning and loadstate race
+
  • Fixes widget visibility on mapping visibility changes
+
  • Fixes icon selection with shift/ctrl and keyboard arrow navigation
+
  • Fixes overrview animation
+

* Adw version 100.14 for Gnome 45, 46, 47, 48, 49

+
  • Adds html widgets that can launch and communicate with a local backend
+
  • Reverts multiple selection with arrows as it breaks mouse drag and drop
+
  • Added a Today(Calendar) widget and system Metrics widget for desktop
+
  • Improves preferences for widgets
+

* Adw version 100.13 for Gnome 45, 46, 47, 48, 49

+
  • Adds widgets that can be displayed on the desktop under the icon layer
+
  • Users can apply their own CSS
+

* Adw version 100.11 for Gnome 45, 46, 47, 48, 49

+
  • Fix margins in RTL layout under dock
+
  • Adapt to X11 removal in mutter
+

* Adw version 100.9 for Gnome 45, 46, 47, 48, 49

+
  • Machine Translation with LibreTranslate to all supported languages
+

* Adw version 100.8-2 for Gnome 45, 46, 47, 48 49

+
  • Bug fix for older gnome versions with no GioUnix namespace
+

* Adw version 100.8 for Gnome 45, 46, 47, 48, 49

+
  • Animate margin changes. Respects global Gtk4/Gnome animation settings
+
  • Right long-click brings up gnome shell background menu directly
+
  • Improve search UI, unselected items are now properly dimmed to highlight the selected
+

* Adw version 100.7 for Gnome 45, 46, 47, 48, 49

+
  • Fix Gnome 49 compatibility issues
+
  • Fix xdg-terminal-exec directory detection in system data dirs
+

* Adw version 100.6 for Gnome 45, 46, 47, 48, 49

+
  • Adapt to new Gnome 49 Meta.Window and Meta.WaylandClient API
+
  • Fix missing app icon if no parent icon folder
+

* Adw version 100.5 for Gnome 45, 46, 47, 48

+
  • Set localized default desktop name
+
  • Resizable open with dialog
+
  • Fix custom icons size
+
  • Update to more direct error message
+

* Adw version 100.3 for Gnome 45, 46, 47, 48

+
  • Draw proper selection rectangle at small sizes
+

* Adw version 100.2 for Gnome 45, 46, 47, 48

+
  • Remove dependency on xdg-user-dirs
+

* Adw version 100.1 for Gnome 45, 46, 47, 48

+

Minor bug fixes to run on older Adw 1.5, errors on connecting second monitor, fix open terminal shortcut

+

Yay! Version 100! +Actually version 1.0, started with 0.01, but got tired of writing a 0 before every version. +I believe mostly feature complete, except DBus Activation and packaging as a GJS app. +Change Name to Adw. Desktop Icons :) +

+
  • Add a complete shortcut manager with editable local and global shortcuts.
  • +
  • Add Adw.AboutDialog for the application with proper credits and acknowledgements.
  • +
  • Add more actions, to arrange icons directly, that can then have proper keybindings in the shortcut manager.
  • +
  • Redesign the preferences to open the shortcut manger. When opened through gnome extensions settings, shortcut manager is activated over DBus, and only works if the extension/app is enabled.
  • +
  • Add an easily editable boolean constant to gnome shell override so Users wanting to show icons on window picker overview or on thumbnails can choose to do so.
  • +
  • .desktop files on the desktop now show their actions in the right click context menus. All these actions are shown and can be activated if the file is trusted.
` + ); + } +}; + + +const DingPreferencesWindow = class extends DesktopFolderUtils { + constructor(params) { + super(params); + this.iconTheme = + Gtk.IconTheme.get_for_display(Gdk.Display.get_default()); + + this.iconTheme.add_resource_path(`${appPath}/icons`); + } + + addActionRowSwitch(settings, key, labelText, bindFlags = null) { + const actionRow = Adw.ActionRow.new(); + const switcher = new Gtk.Switch({active: settings.get_boolean(key)}); + + switcher.set_halign(Gtk.Align.END); + switcher.set_valign(Gtk.Align.CENTER); + switcher.set_hexpand(false); + switcher.set_vexpand(false); + actionRow.set_title(labelText); + actionRow.add_suffix(switcher); + + if (!bindFlags) + bindFlags = Gio.SettingsBindFlags.DEFAULT; + + settings.bind(key, switcher, 'active', bindFlags); + actionRow.set_activatable_widget(switcher); + + return actionRow; + } + + addActionRowSelector(settings, key, labelText, elements) { + const actionRow = new ComboRowWithKey(); + + actionRow.set_title(labelText); + actionRow.set_use_subtitle(false); + actionRow.makeEnumn(elements); + actionRow.set_selected(settings.get_enum(key)); + + settings.bind(key, actionRow, 'indexkey', + Gio.SettingsBindFlags.DEFAULT); + + return actionRow; + } + + addActionRowButton(title, subtitle, buttonLabel, action, key = null) { + const actionRow = Adw.ActionRow.new(); + + actionRow.set_title(title); + + if (subtitle) { + actionRow.use_markup = false; + actionRow.set_subtitle(subtitle); + if (Adw.get_minor_version() > 2) + actionRow.set_subtitle_selectable(true); + } + + if (buttonLabel && action) { + const button = Gtk.Button.new_with_label(buttonLabel); + + button.set_size_request(120, -1); + button.set_halign(Gtk.Align.END); + button.set_valign(Gtk.Align.CENTER); + button.set_hexpand(true); + button.set_vexpand(false); + button.connect('clicked', action.bind(this, actionRow, button, key)); + + actionRow.add_suffix(button); + actionRow.set_activatable_widget(button); + } + + return actionRow; + } + + launchUri(uri) { + const context = Gdk.Display.get_default().get_app_launch_context(); + context.set_timestamp(Gdk.CURRENT_TIME); + + Gio.AppInfo.launch_default_for_uri(uri, context); + } +}; + +const AdwPreferencesWindow = class extends DingPreferencesWindow { + constructor( + desktopSettings, + nautilusSettings, + gtkSettings, + version, + actiongroup = null + ) { + super(); + this.desktopSettings = desktopSettings; + this.nautilusSettings = nautilusSettings; + this.gtkSettings = gtkSettings; + + if (!actiongroup) + this.getRemoteActions(); + else + this.remoteActions = actiongroup; + + this.version = version; + } + + destroy() { + if (this.watchNameID) + Gio.DBus.unwatch_name(this.watchNameID); + + this.watchNameID = 0; + } + + getRemoteActions() { + this.watchNameID = Gio.DBus.watch_name( + Gio.BusType.SESSION, + appID, + Gio.BusNameWatcherFlags.NONE, + (_conn, _name, _nameOwner) => { + try { + this.remoteActions = Gio.DBusActionGroup.get( + Gio.DBus.session, + appID, + appPath + ); + this.shortcutGroup?.update(this.remoteActions); + this.cssOverrideGroup?.update(this.remoteActions); + } catch (e) { + logError(e, 'Error getting action group'); + } + }, + (_conn, _name) => { + this.remoteActions = null; + this.shortcutGroup?.update(this.remoteActions); + this.cssOverrideGroup?.update(this.remoteActions); + } + ); + } + + getAdwPreferencesWindow(window = null) { + var prefsWindow; + + if (window) { + prefsWindow = window; + } else { + prefsWindow = new Adw.PreferencesWindow(); + const app = Gtk.Application.get_default(); + + if (app) + prefsWindow.set_application(app); + } + prefsWindow.set_can_navigate_back(true); + prefsWindow.set_search_enabled(true); + + this.prefsWindow = prefsWindow; + this.activeWindow = prefsWindow; + + const prefsFrame = new Adw.PreferencesPage(); + + prefsFrame.set_name(_('Desktop')); + prefsFrame.set_title(_('Desktop')); + prefsFrame.set_icon_name('prefs-desktop-symbolic'); + + const filesPrefsFrame = new Adw.PreferencesPage(); + + filesPrefsFrame.set_name(_('Files')); + filesPrefsFrame.set_title(_('Files')); + filesPrefsFrame.set_icon_name('prefs-files-symbolic'); + + const tweaksFrame = new Adw.PreferencesPage(); + + tweaksFrame.set_name(_('Tweaks')); + tweaksFrame.set_title(_('Tweaks')); + tweaksFrame.set_icon_name('prefs-tweaks-symbolic'); + + const aboutFrame = new Adw.PreferencesPage(); + + aboutFrame.set_name(_('More')); + aboutFrame.set_title(_('More')); + aboutFrame.set_icon_name('prefs-more-symbolic'); + + prefsWindow.add(prefsFrame); + prefsWindow.add(filesPrefsFrame); + prefsWindow.add(tweaksFrame); + prefsWindow.add(aboutFrame); + prefsWindow.set_visible(prefsFrame); + + const desktopGroup = new Adw.PreferencesGroup(); + + desktopGroup.set_title(_('Desktop Settings')); + desktopGroup.set_description(_('Settings for the Desktop Program')); + + prefsFrame.add(desktopGroup); + + this.desktopFolderGroup = new Adw.PreferencesGroup(); + + this.desktopFolderGroup.set_title(_('Desktop Folder')); + this.FolderGroupDescription = _('Current Desktop: '); + const desktoPath = this.getDesktopDir().get_path(); + this.desktopFolderGroup.set_description( + `${this.FolderGroupDescription} ${desktoPath}` + ); + + prefsFrame.add(this.desktopFolderGroup); + + const filesGroup = new Adw.PreferencesGroup(); + + filesGroup.set_title(_('Files Settings')); + filesGroup.set_description(_('Settings shared with Gnome Files')); + + filesPrefsFrame.add(filesGroup); + + const tweaksGroup = new Adw.PreferencesGroup(); + + tweaksGroup.set_title(_('Tweaks')); + tweaksGroup.set_description(_('Miscellaneous Tweaks')); + tweaksFrame.add(tweaksGroup); + + this.shortcutGroup = + new ShortcutGroup({remoteActions: this.remoteActions}); + + aboutFrame.add(this.shortcutGroup); + + this.cssOverrideGroup = new CssOverrideGroup({ + remoteActions: this.remoteActions, + }); + this.cssOverrideGroup.set_visible(false); // Initially hidden + aboutFrame.add(this.cssOverrideGroup); + + const aboutGroup = new Adw.PreferencesGroup(); + + aboutGroup.set_title('About Adw. Desktop Icons'); + let versiontitle = _(`Version ${this.version}`); + aboutGroup.set_description(versiontitle); + + aboutFrame.add(aboutGroup); + + desktopGroup.add(this.addActionRowSelector(this.desktopSettings, + 'icon-size', + _('Size for the desktop icons'), + { + 'tiny': _('Tiny'), + 'small': _('Small'), + 'standard': _('Standard'), + 'large': _('Large'), + } + )); + + desktopGroup.add(this.addActionRowSelector(this.desktopSettings, + 'start-corner', + _('New icons alignment'), + { + 'top-left': _('Top left corner'), + 'top-right': _('Top right corner'), + 'bottom-left': _('Bottom left corner'), + 'bottom-right': _('Bottom right corner'), + } + )); + + desktopGroup.add(this.addActionRowSwitch(this.desktopSettings, + 'show-second-monitor', + _('Add new icons to Secondary Monitors first, if available'))); + + desktopGroup.add(this.addActionRowSwitch(this.desktopSettings, + 'free-position-icons', + _('Snap icons to grid'), + Gio.SettingsBindFlags.INVERT_BOOLEAN + )); + + const showWidgets = this.addActionRowSwitch(this.desktopSettings, + 'show-desktop-widgets', + _('Show desktop widgets')); + showWidgets.set_sensitive(DesktopWidgetCapability); + desktopGroup.add(showWidgets); + + this.desktopFolderGroup + .add(this.addActionRowButton(_('New Desktop Folder'), + _('Set a new folder for the desktop'), + _('Choose'), + this.changeDesktop.bind(this) + )); + + const defaultDesktopPath = this.getSystemLocalizedDesktopDir(); + const secondarytext = _('Set Desktop back to ~/'); + this.defaultDesktopRow = + this.addActionRowButton(_('Restore Default Desktop Folder'), + `${secondarytext}${defaultDesktopPath}`, + _('Restore'), + this.restoreDefaultDesktop.bind(this) + ); + + this.desktopFolderGroup.add(this.defaultDesktopRow); + this.defaultDesktopRow.set_sensitive(!this.isDefaultDesktop); + + const dropPlaceRow = this.addActionRowSwitch(this.desktopSettings, + 'show-drop-place', + _('Highlight the drop grid')); + + this.desktopSettings.bind('free-position-icons', dropPlaceRow, + 'sensitive', + Gio.SettingsBindFlags.INVERT_BOOLEAN); + + tweaksGroup.add(dropPlaceRow); + + tweaksGroup.add(this.addActionRowSwitch(this.desktopSettings, + 'show-link-emblem', + _('Add information emblems for links, encryption'))); + + tweaksGroup.add(this.addActionRowSwitch(this.desktopSettings, + 'dark-text-in-labels', + _('Use dark text in icon labels') + )); + + tweaksGroup.add(this.addActionRowSwitch(this.desktopSettings, + 'show-home', + _('Show the personal folder on the desktop') + )); + + tweaksGroup.add(this.addActionRowSwitch(this.desktopSettings, + 'show-trash', + _('Show the trash icon on the desktop') + )); + + tweaksGroup.add(this.addActionRowSwitch(this.desktopSettings, + 'show-volumes', + _('Show external drives on the desktop') + )); + + tweaksGroup.add(this.addActionRowSwitch(this.desktopSettings, + 'show-network-volumes', + _('Show network drives on the desktop') + )); + + tweaksGroup.add(this.addActionRowSwitch(this.desktopSettings, + 'add-volumes-opposite', + _('Add new drives to the opposite side of the desktop') + )); + + filesGroup.add(this.addActionRowSelector(this.nautilusSettings, + 'click-policy', + _('Action to Open Items'), + { + 'single': _('Single click'), + 'double': _('Double click'), + })); + + filesGroup.add(this.addActionRowSelector(this.nautilusSettings, + 'show-image-thumbnails', + _('Show image thumbnails'), + { + 'always': _('Always'), + 'local-only': _('On this computer only'), + 'never': _('Never'), + })); + + filesGroup.add(this.addActionRowSwitch(this.nautilusSettings, + 'show-delete-permanently', + _('Show a context menu item to delete permanently') + )); + + filesGroup.add(this.addActionRowSwitch(this.gtkSettings, + 'show-hidden', + _('Show hidden files') + )); + + filesGroup.add(this.addActionRowSwitch(this.nautilusSettings, + 'open-folder-on-dnd-hover', + _('Open folders on drag hover') + )); + + const aboutButton = new Adw.ActionRow(); + aboutButton.set_title(_('About...')); + const icon = Gtk.Image.new_from_icon_name('window-pop-out-symbolic'); + aboutButton.add_suffix(icon); + aboutButton.set_activatable_widget(icon); + + aboutButton.connect('activated', () => { + const aboutDialog = new aboutApp({version: this.version}); + aboutDialog.present(prefsWindow); + }); + + aboutGroup.add(aboutButton); + + const tranlationGroup = new Adw.PreferencesGroup({ + title: _('Translation'), + description: _('Machine translated using LibreTranslate. User verified and edited on Weblate.'), + }); + + aboutFrame.add(tranlationGroup); + + tranlationGroup.add(this.addActionRowButton(_('Edit Translations'), + _('Verify, add or correct translation in your web browser'), + _('Translate'), + this.launchWebTranslation.bind(this) + )); + + // Track Alt key state using event controllers + this._altKeyPressed = false; + + // Add key event controller to track Alt key + const keyController = new Gtk.EventControllerKey(); + keyController.connect('key-pressed', (controller, keyval, _keycode, _state) => { + if (keyval === Gdk.KEY_Alt_L || keyval === Gdk.KEY_Alt_R) + this._altKeyPressed = true; + + return false; + }); + + keyController.connect('key-released', (controller, keyval, _keycode, _state) => { + if (keyval === Gdk.KEY_Alt_L || keyval === Gdk.KEY_Alt_R) + this._altKeyPressed = false; + }); + + prefsWindow.add_controller(keyController); + + // Add click gesture controller to detect Alt+Click on tab + const clickController = new Gtk.GestureClick(); + clickController.connect('pressed', (gesture, _nPress, _x, _y) => { + const state = gesture.get_current_event().get_modifier_state(); + this._altKeyPressed = (state & Gdk.ModifierType.ALT_MASK) !== 0; + }); + prefsWindow.add_controller(clickController); + + // Show CSS Override group only when navigating to More tab with Alt held + prefsWindow.connect('notify::visible-page', () => { + if (prefsWindow.get_visible_page() === aboutFrame) + this.cssOverrideGroup.set_visible(this._altKeyPressed); + }); + + prefsWindow.set_default_size(600, 650); + + this._monitorDesktopDirChanges(); + + prefsWindow.connect( + 'close-request', + () => { + this._stopMonitoring(); + this.activeWindow = null; + } + ); + + if (!window) + return prefsWindow; + else + return true; + } + + onDesktopFolderChanged(newDesktopDir) { + super.onDesktopFolderChanged(newDesktopDir); + const desktopPath = this._desktopDir.get_path(); + this.desktopFolderGroup.set_description( + `${this.FolderGroupDescription} ${desktopPath}` + ); + + this.defaultDesktopRow.set_sensitive(!this.isDefaultDesktop); + } + + launchWebTranslation() { + const translationUri = + 'https://hosted.weblate.org/engage/gtk4-desktop-icons-ng'; + this.launchUri(translationUri); + } +}; diff --git a/ding/app/appChooser.js b/ding/app/appChooser.js new file mode 100644 index 0000000..d40f672 --- /dev/null +++ b/ding/app/appChooser.js @@ -0,0 +1,248 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Gtk4 Port Copyright (C) 2023 Sundeep Mediratta (smedius@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 . + */ +import {Gtk, Gdk, Gio, Adw} from '../dependencies/gi.js'; +import {_} from '../dependencies/gettext.js'; + +export {AppChooserDialog}; + +const AppChooserDialog = class { + constructor(fileItems, activeFileItem = null, dbusUtils, desktopIconsUtil) { + if (!activeFileItem) + activeFileItem = fileItems[0]; + + if (fileItems.length === 1) { + this.fileName = activeFileItem.displayName; + this.singleContentType = true; + } else { + this.fileName = null; + this.singleContentType = this._detectSingleContentType(fileItems); + } + + this._dbusUtils = dbusUtils; + this._desktopIconsUtil = desktopIconsUtil; + this.mimeType = activeFileItem.attributeContentType; + this.mimeTypeIsDirectory = this.mimeType === 'inode/directory'; + + const appwindow = + this._desktopIconsUtil.getMainApp().get_active_window(); + + this.builderObject = + Gtk.Builder + .new_from_resource('/com/desktop/ding/ui/ding-app-chooser.ui'); + + this.builderObject.set_translation_domain('gtk4-ding'); + + this.appChooserDialog = + this.builderObject.get_object('DingAppChooser'); + + this.appChooserDialog.set_transient_for(appwindow); + this.appChooserDialog.set_title('DingAppChooser'); + this.appChooserDialog.set_name('DingAppChooser'); + + const modal = true; + + this._desktopIconsUtil + .windowHidePagerTaskbarModal(this.appChooserDialog, modal); + + this.appChooserBox = + this.builderObject.get_object('app_chooser_widget_box'); + this.appChooserBox.set_hexpand(true); + this.appChooserBox.set_halign(Gtk.Align.FILL); + + + this.appChooserWidget = Gtk.AppChooserWidget.new(this.mimeType); + this.appChooserWidget.set_show_default(true); + this.appChooserWidget.set_show_fallback(true); + this.appChooserWidget.set_show_other(true); + this.appChooserBox.append(this.appChooserWidget); + this.appChooserWidget.set_vexpand(true); + this.appChooserWidget.set_halign(Gtk.Align.FILL); + this.appChooserWidget.set_hexpand(true); + + if (this.fileName !== null) { + const description = + _('Choose an application to open {foo}') + .replace('{foo}', this.fileName.replaceAll('&', '&')); + + this.appChooserLabel = + this.builderObject.get_object('label_description'); + + this.appChooserLabel.set_markup(description); + } + + let headerTitle; + + if (!this.singleContentType) + headerTitle = _('Open Items'); + else if (this.mimeTypeIsDirectory) + headerTitle = _('Open Folder'); + else + headerTitle = _('Open File'); + + this.appChooserDialogHeaderBar = this.appChooserDialog.get_header_bar(); + + this.appChooserDialogHeaderBar + .set_title_widget(Adw.WindowTitle.new(headerTitle, '')); + + this.appChooserRowBox = + this.builderObject.get_object('set_default_box'); + + this.appChooserRow = + this.builderObject.get_object('set_default_row'); + + this.appChooserRowSwitch = + this.builderObject.get_object('set_as_default_switch'); + + this.selectedAppInfo = this.appChooserWidget.get_app_info(); + + if (this.selectedAppInfo !== null) { + this._onApplicationSelected( + this.appChooserWidget, + this.selectedAppInfo + ); + } + + this.appChooserWidget.connect( + 'application-activated', + this._onApplicationActivated.bind(this) + ); + + this.appChooserWidget.connect( + 'application-selected', + this._onApplicationSelected.bind(this) + ); + + if (this.singleContentType && !this.mimeTypeIsDirectory) { + let description = Gio.content_type_get_description(this.mimeType); + this.appChooserRow.set_subtitle(description); + } else { + this.appChooserRowBox.set_visible(false); + } + + this.appChooserDialog.connect('close', () => { + this.appChooserDialog.response(Gtk.ResponseType.CANCEL); + }); + + this.appChooserDialog.connect('response', (actor, retval) => { + if (retval === Gtk.ResponseType.OK) { + this._checkUpdateDefaultAppForMimeType(); + this.applicationSelectionComplete(this.selectedAppInfo); + } else { + this.applicationSelectionComplete(null); + } + }); + } + + _checkUpdateDefaultAppForMimeType() { + if (!this.singleContentType) + return; + + let newAppSelected = false; + + if (this.appChooserRowSwitch.get_sensitive()) + newAppSelected = this.appChooserRowSwitch.get_active(); + + if (newAppSelected) { + let success = + this.selectedAppInfo.set_as_default_for_type(this.mimeType); + + if (!success) { + let header = + _('Error changing default application'); + + let message = + _('Error while setting {foo} as default application for {mimetype}'); + + message = + message.replace( + '{foo}', + this.selectedAppInfo.get_display_name() + ); + + message = + message + .replace( + '{mimetype}', + Gio.content_type_get_description(this.mimeType) + ); + + this._dbusUtils.doNotify(header, message); + } + } + } + + _onApplicationActivated(actor, appInfo) { + this.selectedAppInfo = appInfo; + this.appChooserDialog.response(Gtk.ResponseType.OK); + } + + _onApplicationSelected(actor, appInfo) { + if (!this.appChooserDialog) + return; + + this.selectedAppInfo = appInfo; + + this.appChooserDialog + .set_response_sensitive( + Gtk.ResponseType.OK, + this.selectedAppInfo !== null + ); + + let defaultAppInfo = + Gio.AppInfo.get_default_for_type(this.mimeType, false); + + let defaultSelected = false; + + if (defaultAppInfo) + defaultSelected = defaultAppInfo.equal(this.selectedAppInfo); + + this.appChooserRowSwitch.set_state(defaultSelected); + this.appChooserRowSwitch.set_sensitive(!defaultSelected); + } + + _detectSingleContentType(fileItems) { + let mimetype = fileItems[0].attributeContentType; + + for (let fileItem of fileItems) { + if (fileItem.attributeContentType !== mimetype) + return false; + } + + return true; + } + + show() { + this.appChooserDialog.show(); + this.appChooserDialog.present_with_time(Gdk.CURRENT_TIME); + } + + hide() { + this.appChooserDialog.hide(); + } + + finalize() { + this.appChooserDialog.destroy(); + this.appChooserDialog = null; + this.builderObject = null; + } + + getApplicationSelected() { + return new Promise(resolve => { + this.applicationSelectionComplete = resolve; + }); + } +}; diff --git a/ding/app/appImageFileItem.js b/ding/app/appImageFileItem.js new file mode 100644 index 0000000..5ca299e --- /dev/null +++ b/ding/app/appImageFileItem.js @@ -0,0 +1,136 @@ +/* + * Adw-DING Copyright (C) 2022, 2025 Sundeep Mediratta (smedius@gmail.com) + * Based on code original (C) Carlos Soriano and (c) 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, 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 . +*/ + +import {Gio} from '../dependencies/gi.js'; +import {FileItemIcon} from '../dependencies/localFiles.js'; + +import {_} from '../dependencies/gettext.js'; + +export {AppImageFileIcon}; + +const AppImageFileIcon = class extends FileItemIcon { + _updateMetadataFromFileInfo(fileInfo) { + super._updateMetadataFromFileInfo(fileInfo); + + this._isAppImageFile = + this._attributeContentType === 'application/vnd.appimage'; + + this._trusted = + fileInfo.get_attribute_as_string('metadata::trusted') === 'true'; + } + + async onAllowDisallowLaunchingClicked() { + if (this._isAppImageFile) + this.metadataTrusted = !this.trustedAppImageFile; + + await super.onAllowDisallowLaunchingClicked(); + } + + async _doOpenContext(context, fileList) { + if (this._isAppImageFile) { + try { + this._launchAppImageFile(context, fileList); + } catch (e) {} + + return; + } + + await super._doOpenContext(context, fileList); + } + + _launchAppImageFile() { + if (this._writableByOthers || !this._attributeCanExecute) { + const title = _('Invalid Permissions on AppImage File'); + const a = _('This AppImage File has incorrect Permissions.'); + const aa = _('Right Click to edit Properties, then:'); + let error = `${a} ${aa}\n`; + const b = _('Set Permissions, in'); + const c = _('Others Access'); + const d = _('Read Only'); + const e = _('or'); + const f = _('None'); + const g = _('Enable option'); + const h = _('Allow Executing File as a Program'); + if (this._writableByOthers) + error += `\n${b} "${c}", "${d}" ${e} "${f}"`; + + if (!this._attributeCanExecute) + error += `\n${g}, "${h}"`; + + this._showerrorpopup(title, error); + return; + } + + if (!this.trustedAppImageFile) { + const title = _('Untrusted AppImage File'); + const a = + _('This AppImage file is not trusted, it can not be launched.'); + const b = _('To enable launching, right-click, then:'); + const c = _('enable'); + const d = _('Allow Launching'); + + const error = `${a} ${b}\n\n${c} "${d}"`; + this._showerrorpopup(title, error); + return; + } + + const appImageHandler = + Gio.AppInfo.get_all_for_type(this.attributeContentType); + + if (appImageHandler.some( + app => { + if (app.get_name().toLowerCase().includes('appimagelauncher')) + return app.launch_uris([this.uri], null); + + return false; + } + ) + ) + return; + + this.DesktopIconsUtil.trySpawn(this._desktopDir.get_path(), + [this.path], null, false); + } + + _addEmblemsToIconIfNeeded(iconPaintable, position = 0) { + let emblem = null; + let newIconPaintable = iconPaintable; + + if (this.isAppImageFile && !this.trustedAppImageFile) { + emblem = Gio.ThemedIcon.new('icon-emblem-unreadable'); + + newIconPaintable = + this._addEmblem(newIconPaintable, emblem, position); + + position += 1; + } + + return super._addEmblemsToIconIfNeeded(newIconPaintable, position); + } + + get isAppImageFile() { + return this._isAppImageFile; + } + + get trustedAppImageFile() { + return this._isAppImageFile && + this._attributeCanExecute && + this.metadataTrusted && + !this._desktopManager.writableByOthers && + !this._writableByOthers; + } +}; diff --git a/ding/app/askRenamePopup.js b/ding/app/askRenamePopup.js new file mode 100644 index 0000000..6c7a1ac --- /dev/null +++ b/ding/app/askRenamePopup.js @@ -0,0 +1,217 @@ +/* eslint-disable object-curly-spacing */ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Copyright (C) 2019 Sergio Costas (rastersoft@gmail.com) + * Based on code original (C) 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, 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 . + */ +import {Gtk, GLib, Gio } from '../dependencies/gi.js'; +import {_} from '../dependencies/gettext.js'; + +export {AskRenamePopup}; + +const AskRenamePopup = class { + constructor( + fileItem, + allowReturnOnSameName, + closeCB, + setPendingDropCoordinatesCB, + Data + ) { + this.FileUtils = Data.FileUtils; + this.DesktopIconsUtil = Data.DesktopIconsUtil; + this.DBusUtils = Data.DBusUtils; + this.setPendingDropCoordinates = setPendingDropCoordinatesCB; + this._validateCancellable = new Gio.Cancellable(); + this._closeCB = closeCB; + this._allowReturnOnSameName = allowReturnOnSameName; + + this._desktopFile = Gio.File.new_for_path( + GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DESKTOP)); + + this._fileItem = fileItem; + this._window = fileItem._grid._window; + + this._popover = new Gtk.Popover(); + this._popover.set_autohide(false); + + let contentBox = new Gtk.Grid({ + row_spacing: 6, + column_spacing: 6, + }); + contentBox.set_margin_top(10); + contentBox.set_margin_bottom(10); + contentBox.set_margin_start(10); + contentBox.set_margin_end(10); + + this._popover.set_child(contentBox); + + let label = new Gtk.Label({ + label: fileItem.isDirectory ? _('Folder name') : _('File name'), + justify: Gtk.Justification.LEFT, + halign: Gtk.Align.START, + }); + + contentBox.attach(label, 0, 0, 2, 1); + + this._textArea = new Gtk.Entry(); + this._textArea.text = fileItem.fileName; + + contentBox.attach(this._textArea, 0, 1, 1, 1); + + this._button = + new Gtk.Button( + {label: allowReturnOnSameName ? _('OK') : _('Rename')} + ); + + contentBox.attach(this._button, 1, 1, 1, 1); + + this._buttonId = + this._button.connect( + 'clicked', + this._do_rename.bind(this) + ); + + this._textAreaChangedId = + this._textArea.connect( + 'changed', + () => { + this._validate() + .catch(e => console.error(e)); + } + ); + + this._textAreaActivateId = + this._textArea.connect('activate', this._do_rename.bind(this)); + + this._textArea.set_activates_default(true); + this._popover.set_default_widget(this._textArea); + + this._button.get_style_context().add_class('suggested-action'); + + contentBox.show(); + + this._popover.set_parent(this._window); + this._popover.set_pointing_to(fileItem.iconLocalWindowRectangle); + + const menuGtkPosition = + fileItem + ._grid + .getIntelligentPosition( + fileItem + ._grid + .getGlobaltoLocalRectangle(fileItem.iconRectangle) + ); + + if (menuGtkPosition !== null) + this._popover.set_position(menuGtkPosition); + this._focusTracker = Gtk.EventControllerFocus.new(); + this._popover.add_controller(this._focusTracker); + + this._focusTrackerID = + this._focusTracker.connect('leave', this.close.bind(this)); + + this._popoverId = + this._popover.connect('closed', this.close.bind(this)); + + this._popover.popup(); + + this._validate().catch(e => console.error(e)); + this._textArea.grab_focus_without_selecting(); + + this._textArea.select_region( + 0, + this.DesktopIconsUtil + .getFileExtensionOffset( + fileItem.fileName, + {'isDirectory': fileItem.isDirectory} + ) + .offset + ); + } + + async _validate() { + this._validateCancellable.cancel(); + this._validateCancellable = new Gio.Cancellable(); + + let text = this._textArea.text; + + if (!text.length || text.indexOf('/') !== -1) { + this._button.sensitive = false; + return; + } + + if (text === this._fileItem.fileName) { + this._button.sensitive = !!this._allowReturnOnSameName; + return; + } + + let sensitive = true; + + try { + const finalFile = this._desktopFile.get_child(text); + + if ( + await this.FileUtils.queryExists( + finalFile, + this._validateCancellable + ) + ) + sensitive = false; + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) + return; + } + + this._button.sensitive = sensitive; + } + + _do_rename() { + if (!this._button.sensitive) + return; + + let newFilePath = + GLib.build_filenamev( + [this._desktopFile.get_path(), this._textArea.text] + ); + + let newFile = Gio.File.new_for_path(newFilePath); + + this.setPendingDropCoordinates( + newFile, + this._fileItem.savedCoordinates + ); + + this.DBusUtils.RemoteFileOperations.RenameURIRemote( + this._fileItem.file.get_uri(), + this._textArea.text + ); + + // popdown will trigger the 'close' signal, which, + // in turn, will call _closeCB() + this._popover.popdown(); + } + + close() { + this._validateCancellable.cancel(); + this._button.disconnect(this._buttonId); + this._textArea.disconnect(this._textAreaActivateId); + this._textArea.disconnect(this._textAreaChangedId); + this._popover.disconnect(this._popoverId); + this._focusTracker.disconnect(this._focusTrackerID); + this._popover.unparent(); + this._popover = null; + this._closeCB(); + } +}; diff --git a/ding/app/autoAr.js b/ding/app/autoAr.js new file mode 100644 index 0000000..cc082b3 --- /dev/null +++ b/ding/app/autoAr.js @@ -0,0 +1,769 @@ +/* eslint-disable no-template-curly-in-string */ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Copyright (C) 2022 Sergio Costas (sergio.costas@canonical.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 . + */ +import {Gtk, GLib, Gio, GnomeAutoar} from '../dependencies/gi.js'; +import {_} from '../dependencies/gettext.js'; + + +const fileProto = imports.system.version >= 17200 + ? Gio.File.prototype : Gio._LocalFilePrototype; +Gio._promisify(fileProto, 'make_directory_async'); + +const Signals = imports.signals; + +export {AutoAr}; + +var AutoAr = class { + constructor(desktopManager) { + this._desktopManager = desktopManager; + this.FileUtils = desktopManager.FileUtils; + this._progressWindow = new Gtk.Window({ + title: 'Archives Operations', + resizable: false, + deletable: false, + modal: false, + default_height: 100, + }); + this._progressWindow.connect('close-request', () => { + return true; + }); + this._progressContainer = new Gtk.Box({ + spacing: 12, + margin_top: 15, + margin_bottom: 15, + margin_start: 30, + margin_end: 30, + halign: Gtk.Align.CENTER, + orientation: Gtk.Orientation.VERTICAL, + }); + this._inhibitCookie = null; + + this._progressElements = []; + const scroll = new Gtk.ScrolledWindow({ + propagate_natural_width: true, + min_content_height: 300, + }); + scroll.hscrollbar_policy = Gtk.PolicyType.NEVER; + scroll.vscrollbar_policy = Gtk.PolicyType.AUTOMATIC; + this._progressWindow.set_child(scroll); + const viewport = new Gtk.Viewport(); + scroll.set_child(viewport); + viewport.set_child(this._progressContainer); + this._refreshExtensions(); + } + + checkAutoAr() { + if (GnomeAutoar === null) { + this._desktopManager.dbusManager.doNotify(_('AutoAr is not installed'), + _('To be able to work with compressed files, install file-roller and/or gir-1.2-gnomeAutoAr')); + } + return GnomeAutoar !== null; + } + + _refreshExtensions() { + this._formats = []; + this._filters = []; + this._extensions = {}; + this._combinedExtensions = {}; + if (!GnomeAutoar) + return; + + const lastFormat = GnomeAutoar.format_last(); + const lastFilter = GnomeAutoar.filter_last(); + for (let format = 0; format <= lastFormat; format++) { + try { + if (!GnomeAutoar.format_is_valid(format)) + continue; + } catch (e) { + continue; + } + this._formats.push(format); + const extension = GnomeAutoar.format_get_extension(format); + if (!extension) + continue; + + this._extensions[extension] = { + extension, + format, + filter: null, + }; + } + for (let filter = 0; filter <= lastFilter; filter++) { + try { + if (!GnomeAutoar.filter_is_valid(filter)) + continue; + } catch (e) { + continue; + } + this._filters.push(filter); + const extension = GnomeAutoar.filter_get_extension(filter); + if (!extension) + continue; + + this._extensions[extension] = { + extension, + format: null, + filter, + }; + } + for (let format of this._formats) { + for (let filter of this._filters) { + const extension = GnomeAutoar.format_filter_get_extension(format, filter); + if (!extension) + continue; + + this._combinedExtensions[extension] = { + extension, + format, + filter, + }; + } + } + } + + extensionIsAvailable(extension) { + return (extension in this._extensions) || (extension in this._combinedExtensions); + } + + getFormatAndFilterForExtension(extension) { + if (extension in this._extensions) + return this._extensions[extension]; + + if (extension in this._combinedExtensions) + return this._combinedExtensions[extension]; + + return null; + } + + _getFormatAndFilterForFilename(fileName) { + for (let extension in this._combinedExtensions) { + if (fileName.endsWith(`.${extension}`)) + return this._combinedExtensions[extension]; + } + for (let extension in this._extensions) { + if (fileName.endsWith(`.${extension}`)) + return this._extensions[extension]; + } + return null; + } + + fileIsCompressed(fileName) { + return this._getFormatAndFilterForFilename(fileName) !== null; + } + + runToolAsync(autoArTool, cancellable) { + return new Promise((resolve, reject) => { + const connections = []; + + connections.push(autoArTool.connect('cancelled', () => { + connections.forEach(c => autoArTool.disconnect(c)); + reject(new GLib.Error(Gio.IOErrorEnum, + Gio.IOErrorEnum.CANCELLED, + 'Operation was cancelled')); + })); + + connections.push(autoArTool.connect('error', (holder, error) => { + connections.forEach(c => autoArTool.disconnect(c)); + reject(error); + })); + + connections.push(autoArTool.connect('completed', () => { + connections.forEach(c => autoArTool.disconnect(c)); + resolve(); + })); + + autoArTool.start_async(cancellable); + }); + } + + extractFile(fileName) { + if (!this.checkAutoAr()) + return; + + const fullPath = GLib.build_filenamev([ + GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DESKTOP), + fileName, + ]); + + const formatFilter = this._getFormatAndFilterForFilename(fileName); + const extSize = formatFilter.extension.length; + const total = fullPath.length; + const folderName = fullPath.substring(0, total - extSize); + const folder = Gio.File.new_for_path(folderName); + const doExtract = new progressDialog(this, _('Extracting files')); + this._password = null; + doExtract.doExtractFile(fullPath, folder, folderName).catch( + e => console.error(e)); + } + + compressFileItems(fileList, destinationFolder) { + if (!this.checkAutoAr()) + return; + + new CompressDialog(this._desktopManager, fileList, destinationFolder); + } + + compressFiles(fileList, outputFile, format, filter, password = null) { + if (!this.checkAutoAr()) + return; + + const doCompress = new progressDialog(this, _('Compressing files')); + doCompress.doCompressFiles(fileList, outputFile, format, filter, password).catch( + e => console.error(e)); + } + + notify(title, text) { + this._desktopManager.dbusManager.doNotify(title, text); + } + + getProgressElements() { + return this._progressElements; // this._progressContainer.get_children(); + } + + removeProgressDialog(progressElement) { + this._progressElements = this._progressElements.filter(e => e !== progressElement); + if (!this._progressElements.length) { + this._progressWindow.hide(); + if (this._inhibitCookie !== null) { + this._desktopManager.mainApp.uninhibit(this._inhibitCookie); + this._inhibitCookie = null; + } + } + progressElement.unparent(); + progressElement = null; + this.emit('progress-elements-changed', this._progressElements); + } + + addProgress(progressElement, message) { + this._progressContainer.append(progressElement); + if (!this._progressElements.length) { + this._inhibitCookie = this._desktopManager.mainApp.inhibit(null, + Gtk.ApplicationInhibitFlags.LOGOUT | Gtk.ApplicationInhibitFlags.SUSPEND, + message); + } + this._progressElements.push(progressElement); + this._progressWindow.show(); + this._progressWindow.present(); + this.emit('progress-elements-changed', this._progressElements); + } +}; + +Signals.addSignalMethods(AutoAr.prototype); + +const progressDialog = class { + constructor(autoArClass, message) { + this._autoAr = autoArClass; + this.FileUtils = autoArClass.FileUtils; + this._waitingForPassword = false; + this._currentPassword = null; + this._buttonPromiseAccept = null; + this._container = new Gtk.Box({ + spacing: 0, + halign: Gtk.Align.START, + orientation: Gtk.Orientation.VERTICAL, + }); + this._processLabel = new Gtk.Label(); + this._processBar = new Gtk.ProgressBar(); + const container2 = new Gtk.Box({ + spacing: 60, + margin_top: 15, + margin_bottom: 15, + margin_start: 15, + margin_end: 15, + halign: Gtk.Align.START, + orientation: Gtk.Orientation.HORIZONTAL, + }); + const container3 = new Gtk.Box({ + spacing: 10, + halign: Gtk.Align.START, + orientation: Gtk.Orientation.VERTICAL, + }); + this._cancelButton = new Gtk.Button({label: _('Cancel')}); + this._cancelButton.connect('clicked', () => { + if (this._buttonPromiseAccept) { + this._buttonPromiseAccept(false); + return; + } + this._cancellable.cancel(); + }); + this._passOkButton = new Gtk.Button({label: _('OK')}); + this._passOkButton.get_style_context().add_class('suggested-action'); + const passOKfunc = function () { + this._processBar.show(); + this._passEntry.hide(); + this._passOkButton.hide(); + this._currentPassword = this._passEntry.get_text(); + if (this._buttonPromiseAccept) + this._buttonPromiseAccept(true); + }.bind(this); + this._passOkButton.connect('clicked', passOKfunc); + this._passEntry = new Gtk.Entry({ + placeholder_text: _('Enter a password here'), + input_purpose: Gtk.InputPurpose.PASSWORD, + visibility: false, + secondary_icon_name: 'view-conceal', + secondary_icon_activatable: true, + secondary_icon_sensitive: true, + }); + container3.append(this._processLabel); + container3.append(this._processBar); + container3.append(this._passEntry); + container2.append(container3); + container2.append(this._passOkButton); + this._passOkButton.set_halign(Gtk.Align.END); + container2.append(this._cancelButton); + this._cancelButton.set_halign(Gtk.Align.END); + this._container.append(container2); + this._passEntry.connect('icon-release', () => { + this._passEntry.visibility = !this._passEntry.visibility; + }); + this._passEntry.connect('activate', passOKfunc); + + const separator = new Gtk.Separator({orientation: Gtk.Orientation.HORIZONTAL}); + this._container.append(separator); + const updateSeparatorVisibility = () => { + const progressElements = this._autoAr.getProgressElements(); + separator.visible = progressElements.length && + this._container !== progressElements[progressElements.length - 1]; + }; + updateSeparatorVisibility(); + this._elementsChangedId = this._autoAr.connect('progress-elements-changed', + updateSeparatorVisibility); + + this._cancellable = new Gio.Cancellable(); + this._autoAr.addProgress(this._container, message); + this._passEntry.hide(); + this._passOkButton.hide(); + } + + async _cleanupFile(file, cancellable) { + if (!file.query_exists(null)) + return; + + this._processBar.set_fraction(0); + this._processLabel.set_label(_("Removing partial file '${outputFile}'").replace( + '${outputFile}', file.get_basename())); + + this._removeTimer(); + this._timer = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 250, () => { + this._processBar.pulse(); + return true; + }); + + try { + await this.FileUtils.deleteFile(file, null, cancellable); + } catch (e) { + console.error(e, `Failed to remove ${file.get_path()}: ${e.message}`); + } finally { + this._removeTimer(); + } + } + + async doExtractFile(fullPath, folder, folderName, counter = 1) { + this._processLabel.set_label(_('Creating destination folder')); + this._processBar.pulse(); + + try { + await folder.make_directory_async(GLib.PRIORITY_DEFAULT, this._cancellable); + + const info = new Gio.FileInfo(); + info.set_attribute_uint32(Gio.FILE_ATTRIBUTE_UNIX_MODE, 0o700); + + try { + await folder.set_attributes_async(info, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_DEFAULT, + this._cancellable); + } catch (e) { + console.error(e, `Failed to set attributes to ${folder.get_path()}`); + } + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { + this._destroy(); + return; + } + + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.EXISTS)) { + const newFolder = Gio.File.new_for_path(`${folderName} (${counter})`); + await this.doExtractFile(fullPath, newFolder, folderName, counter + 1); + return; + } + + throw e; + } + + this._processLabel.set_label(_("Extracting files into '${outputPath}'").replace( + '${outputPath}', folder.get_basename())); + + const fullPathFile = Gio.File.new_for_path(fullPath); + const extractor = GnomeAutoar.Extractor.new(fullPathFile, folder); + extractor.set_output_is_dest(true); + if (extractor.set_passphrase && (this._currentPassword !== null)) + extractor.set_passphrase(this._currentPassword); + + + this._removeTimer(); + this._timer = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 250, () => { + this._processBar.pulse(); + return true; + }); + + let progressTotal = -1; + const progressID = extractor.connect('progress', (holder, completedSize) => { + this._removeTimer(); + + if (progressTotal <= 0) + progressTotal = extractor.get_total_size(); + + if (progressTotal > 0) + this._processBar.set_fraction(completedSize / progressTotal); + }); + + try { + await this._autoAr.runToolAsync(extractor, this._cancellable); + + this._autoAr.notify(_('Extraction completed'), + _("Extracting '${fullPathFile}' has been completed.").replace( + '${fullPathFile}', fullPathFile.get_basename())); + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { + this._cancellable = new Gio.Cancellable(); + await this._cleanupFile(folder, this._cancellable); + this._autoAr.notify(_('Extraction cancelled'), + _("Extracting '${fullPathFile}' has been cancelled by the user.").replace( + '${fullPathFile}', fullPathFile.get_basename())); + } else { + if ((e.code === GnomeAutoar.PASSPHRASE_REQUIRED_ERRNO) && (e.domain === GnomeAutoar.Extractor.quark())) { + this._waitingForPassword = true; + this._processBar.hide(); + this._passEntry.show(); + this._passOkButton.show(); + this._passOkButton.set_receives_default(true); + const tmpfile = Gio.File.new_for_path(fullPath); + this._processLabel.set_label(_('Passphrase required for ${filename}').replace('${filename}', tmpfile.get_basename())); + } else { + this._waitingForPassword = false; + this._autoAr.notify(_('Error during extraction'), e.message); + } + await this._cleanupFile(folder, this._cancellable); + } + } finally { + this._removeTimer(); + extractor.disconnect(progressID); + if (!this._waitingForPassword) + this._destroy(); + } + if (this._waitingForPassword) { + const retval = await this._waitButtons(); + this._buttonPromiseAccept = null; + this._waitingForPassword = false; + if (retval === true) + await this.doExtractFile(fullPath, folder, folderName); + } + } + + _waitButtons() { + return new Promise(accept => { + this._buttonPromiseAccept = accept; + }); + } + + async doCompressFiles(fileList, outputFile, format, filter, password = null) { + const output = Gio.File.new_for_path(outputFile); + this._processLabel.set_label(_("Compressing files into '${outputFile}'").replace( + '${outputFile}', output.get_basename())); + const compressor = GnomeAutoar.Compressor.new(fileList, output, format, filter, false); + compressor.set_output_is_dest(true); + if (password) + compressor.set_passphrase(password); + + + const progressID = compressor.connect('progress', () => this._processBar.pulse()); + + try { + await this._autoAr.runToolAsync(compressor, this._cancellable); + + this._autoAr.notify(_('Compression completed'), + _("Compressing files into '${outputFile}' has been completed.").replace( + '${outputFile}', output.get_basename())); + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.EXISTS)) { + this._autoAr.notify(_('Cancelled compression'), + _("The output file '${outputFile}' already exists.").replace( + '${outputFile}', output.get_basename())); + } else { + this._cancellable = new Gio.Cancellable(); + await this._cleanupFile(output, this._cancellable); + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { + this._autoAr.notify(_('Cancelled compression'), + _("Compressing files into '${outputFile}' has been cancelled by the user.").replace( + '${outputFile}', output.get_basename())); + } else { + this._autoAr.notify(_('Error during compression'), e.message); + } + } + } finally { + compressor.disconnect(progressID); + this._destroy(); + } + } + + _removeTimer() { + if (this._timer) { + GLib.source_remove(this._timer); + this._timer = 0; + } + } + + _destroy() { + this._autoAr.disconnect(this._elementsChangedId); + this._cancellable.cancel(); + this._autoAr.removeProgressDialog(this._container); + } +}; + + +const CompressDialog = class { + constructor(desktopManager, fileList, destinationFolder) { + this.Enums = desktopManager.Enums; + this.Prefs = desktopManager.Prefs; + this._fileList = []; + for (let file of fileList) + this._fileList.push(file.file); + + this._desktopManager = desktopManager; + this._destinationFolder = destinationFolder; + this._dialog = new Gtk.Dialog({ + title: _('Create archive'), + resizable: false, + modal: true, + use_header_bar: true, + default_width: 500, + default_height: 210, + }); + const container = this._dialog.get_content_area(); + container.orientation = Gtk.Orientation.VERTICAL; + container.margin_top = 30; + container.margin_bottom = 30; + container.margin_start = 30; + container.margin_end = 30; + container.width_request = 390; + container.halign = Gtk.Align.CENTER; + container.spacing = 6; + + if (this.Prefs.nautilusCompression) + this._selectedType = this.Prefs.nautilusCompression.get_enum('default-compression-format'); + else + this._selectedType = this.Enums.CompressionType.ZIP; + + + const archiveLabel = new Gtk.Label({ + label: `${_('Archive name')}`, + xalign: 0, + use_markup: true, + }); + container.append(archiveLabel); + const box1 = new Gtk.Box({ + spacing: 12, + orientation: Gtk.Orientation.HORIZONTAL, + }); + this._nameEntry = new Gtk.Entry({ + hexpand: true, + width_chars: 30, + }); + + this._extensionDropdown = new Gtk.Button(); + const extensionContainer = new Gtk.Box({ + spacing: 2, + orientation: Gtk.Orientation.HORIZONTAL, + }); + this._extensionLabel = new Gtk.Label(); + this._extensionLock = new Gtk.Image({icon_name: 'dialog-password'}); + extensionContainer.append(this._extensionLabel); + extensionContainer.append(this._extensionLock); + this._extensionDropdown.set_child(extensionContainer); + this._extensionPopover = new Gtk.Popover(); + this._extensionPopover.set_parent(this._extensionDropdown); + this._extensionPopoverContainer = new Gtk.Box({ + spacing: 4, + orientation: Gtk.Orientation.VERTICAL, + }); + this._extensionPopover.set_child(this._extensionPopoverContainer); + + this._passLabel = new Gtk.Label({ + label: _('Password'), + margin_top: 6, + xalign: 0, + }); + this._passEntry = new Gtk.PasswordEntry({placeholder_text: _('Enter a password here')}); + this._passEntry.set_show_peek_icon(true); + + container.append(box1); + box1.append(this._nameEntry); + box1.append(this._extensionDropdown); + container.append(this._passLabel); + container.append(this._passEntry); + + this._okButton = this._dialog.add_button(_('Create'), Gtk.ResponseType.ACCEPT); + this._okButton.get_style_context().add_class('suggested-action'); + this._okButton.set_receives_default(true); + this._cancelButton = this._dialog.add_button(_('Cancel'), Gtk.ResponseType.CANCEL); + this._cancelButton.set_receives_default(true); + this._fillComboBox(); + this._dialog.show(); + this._updateStatus(); + this._extensionDropdown.connect('clicked', () => { + this._extensionPopoverContainer.show(); + this._extensionPopover.popup(); + for (let index in this._compressOptions) { + const data = this._compressOptions[index]; + data.selected_icon.visible = index === this._selectedType; + } + }); + this._nameEntry.connect('changed', () => this._updateStatus()); + this._passEntry.connect('changed', () => this._updateStatus()); + this._nameEntry.connect('activate', () => this._entryActivated()); + this._passEntry.connect('activate', () => this._entryActivated()); + this._dialog.connect('response', (dialog, id) => { + if (id === Gtk.ResponseType.ACCEPT) { + const data = + this._desktopManager + .autoAr.getFormatAndFilterForExtension( + this._compressOptions[this._selectedType] + .extension + ); + + const outputFile = GLib.build_filenamev([ + this._destinationFolder, + this._nameEntry.get_text() + data.extension, + ]); + + const password = this._passEntry.get_text(); + + this._desktopManager + .autoAr + .compressFiles( + this._fileList, + outputFile, + data.format, + data.filter, + password + ); + } + + this._dialog.close(); + this._extensionPopover.unparent(); + this._dialog.destroy(); + }); + } + + _entryActivated() { + this._updateStatus(); + if (this._okButton.sensitive) + this._dialog.response(Gtk.ResponseType.ACCEPT); + } + + _updateStatus() { + if (this.Prefs.nautilusCompression) + this.Prefs.nautilusCompression.set_enum('default-compression-format', this._selectedType); + + const label = this._compressOptions[this._selectedType].extension; + this._extensionLabel.label = label; + this._extensionLock.visible = this._compressOptions[this._selectedType].password; + const password = this._compressOptions[this._selectedType].password; + const outputfile = this._nameEntry.get_text() + label; + this._passLabel.visible = password; + this._passEntry.visible = password; + let context = this._nameEntry.get_style_context(); + this._okButton.sensitive = true; + if (this._desktopManager._displayList.map(f => f.fileName).includes(outputfile)) { + this._okButton.sensitive = false; + if (!context.has_class('not-found')) + context.add_class('not-found'); + } else if (context.has_class('not-found')) { + context.remove_class('not-found'); + } + if (password && (this._passEntry.get_text().length === 0)) + this._okButton.sensitive = false; + + if (this._nameEntry.get_text_length() === 0) + this._okButton.sensitive = false; + } + + _fillComboBox() { + this._compressOptions = {}; + this._addComboEntry(this.Enums.CompressionType.ZIP, { + extension: '.zip', + id: 'zip', + description: _('Compatible with all operating systems.'), + password: false, + }); + this._addComboEntry(this.Enums.CompressionType.ENCRYPTED_ZIP, { + extension: '.zip', + id: 'encryptedzip', + description: _('Password protected .zip, must be installed on Windows and Mac.'), + password: true, + }); + this._addComboEntry(this.Enums.CompressionType.TAR_XZ, { + extension: '.tar.xz', + id: 'tar.xz', + description: _('Smaller archives but Linux and Mac only.'), + password: false, + }); + this._addComboEntry(this.Enums.CompressionType.SEVEN_ZIP, { + extension: '.7z', + id: '7z', + description: _('Smaller archives but must be installed on Windows and Mac.'), + password: false, + }); + } + + _addComboEntry(type, data) { + this._compressOptions[type] = data; + if (!this._desktopManager.autoAr.extensionIsAvailable(data.extension)) + return; + + const container = new Gtk.Box({orientation: Gtk.Orientation.VERTICAL}); + const container2 = new Gtk.Box({orientation: Gtk.Orientation.HORIZONTAL}); + const container3 = new Gtk.Box({orientation: Gtk.Orientation.HORIZONTAL}); + container3.append(new Gtk.Label({ + label: data.extension, + justify: Gtk.Justification.LEFT, + xalign: 0, + })); + if (data.password) + container3.append(new Gtk.Image({icon_name: 'dialog-password'})); + + container.append(container3); + container.append(new Gtk.Label({ + label: data.description, + justify: Gtk.Justification.LEFT, + xalign: 0, + })); + const button = new Gtk.Button(); + container2.append(container); + data.selected_icon = new Gtk.Image({icon_name: 'emblem-default'}); + container2.append(data.selected_icon); + button.set_child(container2); + this._extensionPopoverContainer.append(button); + button.connect('clicked', () => { + this._selectedType = type; + this._extensionPopover.popdown(); + this._updateStatus(); + }); + } +}; diff --git a/ding/app/com.desktop.ding.data.gresource b/ding/app/com.desktop.ding.data.gresource new file mode 100644 index 0000000000000000000000000000000000000000..def04b6b9002fb03b0e0fbdd7940f557bc0d6afd GIT binary patch literal 22492 zcmeFYWpEtLvMoAdW@aXf(UQf?EQ`@%X0n)>nb{UIGg{1&#gfI$Y=Q60{=CoK`}}^t zUfhXTvDV~NRCi}qWmRYQNU9q-SsK~70RDb(fh-02uP?OJ|26^{>@T2z4D-JL2mFoz z1kzui02u^SAkcuo{10FQ^}m4w)S%;mfcF;!Kn8*EFNlB)0x1w=K#&7L1%&hbKqlxs zKhz9Zq5GbL9w}?PH zNQ3M%Kwbc%>b6A-blxD12khqx$i~16?XQVIfCbt?8WPyv0?0NX2PhCqgN_T*Xu$UV zKvo4hWw~Y13v^tNh6T3Q1+obc3r*mFKfn)2gMs=1vJDWP^{$Wq>IbNiLHz)E3V4Fg zpKwe-c92E^+J6C=02$bqrz$qc4$@daI}3<`j-Q}eEJFv{K^hL&KPiwYfxztpy8!tS zq(OETAPWJ(cRjQSiU&x8{2&EnO(1CFIz&PJgES7Xe+M9U1A`ieo}>Y?gET(Sz6|6F z3;>|?`z8*^4$`V3&bhMZw65RAWa19{}+&tfdeR9Pq`d4jzAg|chGzEcL^Q2Lh!#cLU8OQ!^0 zOAls0=zKsL6!%gf-_ZfbE&r%B$PUsVf1-W>0AwYB@ni8u0UZ~lLF3Z`$ZawJ0L^^( zC8#|}Lj$j?7sw+(@5cX?5(%xKmhF^jR~~J1DRhLsJlJ8LG3{r z)Ls+Foa(^yl&hHo+5e?McA#xt0|0QdG<9b*cd|5LboR9UVsB$<%;fB54gi<|=Oq}h zy~k=v(wah$5NfD_DPheD#l9gtb#qLnCa1D>C#6yc0Ubw((C&Q4!YWmrH2)bCV#lAy z>4{LhT>DfWj$7A~adHs_T#?T-;;DP4tZ}up*L=je(U%f&%#RqQnNaJ3dh5Dz03w;Z z{qVW#U0h2PY<<%PI$<4O1+R|h9f%?@+DRY+MG4XC95X#0sct%eUca6+- zvtGNWL#BgWAjnYX_{z#*UA3`cV{%(?_Nhgn5xFrg9s=HWcmgfIvy42VLmF4gM$|gF zm@PmEE{{%gwJ~iX3-ck0w)2ZyxT;sc#-Iddo`#eQ3hr!wD8s@XFQez%aUF-bXwX|e z6IEPsFoPPaTa#tI@_$1%GRz;4nxB8mats7Z*l^lz{ayPw_k31E)A`9wRraT_pU~Gw z*X-IZJe9Zdo-)obW`eR#p|h!^w{QHR=Zc72rvg^K;GbZ6_2bHRzXn6~K72YJ@o&X$ zP`*s{RVjtqLeqE6mGt;PJ(r?yUn|0n*_Z`?%SM6Y2PjZQjseiRx*B=XnVML-FuK~A z*#EDn0RUaVApaA$5S4MeAQsflLwfa#6|<#fLk+TouSYnIBuZ46@vvfGA*BXeL))&U zYBmw~9_DVH5ARQ{3l7uvdW&2cq#@up2Mf6s-$n)xhdW$$JeJQpyueKLu}r6>NAJmg z>F*Edyo^ACgH!QAAuhHtA3|c=waX>@`1!;X8sRRWRy?SS;iFMtV}=o3wewylc8)^wQpNdSITVyiv9g{SBCq04aep?ueOpvHu#l}2#(njKpv#uNEPF_Hvb z`MUe3<{Zmhyw=S)TaYJZ!j7&BwuW_JR_(S6n}Y-<`IK&Rq0ovi;CJaS_y*qckeF$sp@ZSnQ(GY2}}9SDP%3vn&T0sQWCT$ZBvttgv0#OX{%M8~Et*;CuypqE>pBi{3Z*6zHDbt}b}j z=-WTccpOma(l-@N$F91??ze&?Xw#vy*gnNhcG247we|=nR|Wfa z&%hyQMp~2ESmBO!QIxI+X^SQ&7*AG6abHV&QKDW+@y1-427>cE#AwTCIr4*IM^WL5 z0$t{0g`JI9XjxGj46mwK?-GyXwsm!x3J^FslKVZ`N=Nwk3ovovR=+KLVbO*kqZr4K zpK&QdoWabdhJ#RK&}WXk8n49p112}TQ}plYZ0urbZwH*wz%9bRKA^b`+JpQPe_MMe z)4#z7+Lr!fJ}O!VvEYVX`bMVRY0JOrtXUeJ)sO!$>e-DqdxK*hpJuQ#VE` z^t|009am&uS#sEn3Yt(ZT5t@yWyH}98DRJ;#mZ@q1{QzpR6=jdYgKxa z_-^oa_Gdt4q1*|LiHaU1l>UAxpDPhRZHtZgT3fx%Q7*Ys8pUKnp?Qcb-K0L?a)>mK zV%zta>M7K5$qX%K3FCELw5A=)X!ThV+H%6?CMQ=-BixJL_%sdk^mqw{+b_E_MM ziG(f=*F+&LA_h_x!xe651kBdWXl#g;A;V#~BN8C$m9 zVC{1zUaNHuag^r=TK~HK9}k;Z+L${3bus4u_}4Z;(Y~J)_Xp6wG-s>ujf-X0T^=ia z46@Dhc1R)3z!2vzGQ3cM%@iG_@wTtCc;O+VdWm$QyksQ0rO*C)$ae>1q zT3He`+SW8H@QO#6Vy(T7%s??-Lj?~ffxzo0y6tCFM_lN(mbxRCkAo5%PBd_5ZD~+- zHzs8)KOVv7Vo-Vm#6rG9gU@nW<<9T*p7{=Mg8Nf7KLtX6Sn;(PUAK_5oT8{Lf|>oB%Aw(0Uye4u%cT~x_!Ts5;}Gh8l= z?3M7**Tk0|eZ_9D+vdEhQvRN=g zANfK~?a=9Pw`!3>A{Jy)+U-dINW?;9Ea29-o83PU(D-ID3?j*yik|9I%0Pd$ z(*JGj_VZT(#{nTs9}8k>dqnAZB)yH4&wel|nZw)twvPrsmzspQ>*~K9P zdrKnaYZ{c@2VIxNzQ>tOfsNZ%GS;hpUb@yetG4etUd8dj`Hd_QtxTEx#Y*|MlDVOJ z{6}lu8BPaJgm}vD+<~enkXMPClRDnRVk9n2 zo0W@}ad5_p%+OWalNbd>P!V_#jw3HIxKl~?)5D^> zEbC&S3KLYaD-`#hf?ju|lp=;Ua3r$X(N{#R-h>1Di7@6FGmw*m9&up!Er#h?Fuv;?oXyrFX6{sdZ)|d0hE`)yRx70}>`tJ`Q<=^n>N$Y+7S~%7 zojB~868;#8r9WLZL-t5AD_GKc!COu~Tjcb9{jsC^_D4R=T8e$MhIKCde%y7?Yu${` zJMLAox265ZPrDO0Mo!M3S$c7W`PSs@YGmplroLaLHYD&%WT4$>EaQV}-^Z7jYd zy`5UsKrj@{5h^}LvESsYC3}piz7nIsU-3@IOP>jF&2B$i$7bEiM9g;@sQiq;7}Cd; zn}%0xf%S}*H+BLW)HaS2hmk!HjsD=+(l&m(jWK=b;anPG34|VcrmwIP z(9P9pa0tuDi$jv3ufBT7Yv;&6@<6%^?SrNb!5l&AOZyTo0+x(KW@V7pj{>_5X5oSX zKpM`YN$)dH|1yTb61+lc=;HUuKIh|NUJM`pI_+!dqFtm9P8FW~s|T709vp52%^&&N z$E-x|@ItsI_7;|{@{WogP3ir#zblaia1&x<@5BrMmOBCe>_wcJLA7F6OJ-pG6#)3J zP0HWO6Qhl#-M=;~z~BAQ%YdzfE90Jtd>$o)>i_h8Vn?R0@@sa7j^$&@$nJX5yS$g4MFaJ`6Ce7EnE_hhu0eqoW$fX zahnb`kFtAxFSSdzXp|t)*}Re2GIj>iHc^_dHZ8#be1R>ml8fNkWC|ZAje;1)eTUJk zUiVz5zoK;Zk_6uoW9kh0p>Hfjm96a z#^j5@zat5>QDJnqG%+`IVKla|2bM;hm|QIZ#J~;BKY6p{v%K>>3u@P+2JFTnBrOqg zEH5K_Z$UQgUAmU6j*eJDbmP=;k7TM|BF7ZWzFEyy^=7vozxl_CHY0>PVP4*Cd*68tTevq2sR{PD9)fdLmZB&)X3HNRpEX$h?$E)l;4=L$i7||- zpF$GTIZ*q9x61d6n#UM<=B@hEv{R(!wa4*(AJ@Mmnm4&~e${42aL#rJQJld=N0Y~z zuGx%fm}TE1Z57c|AH02(oOS-*dzI}SB&k$9N@~8>2Mqxk64A#AoxAm6h*%Xvl1}a+?K@P{3a(WZCubZ6qjzJ;=)rU^vwB7W~N~^YB|et2PS8J{gXAg%H1jH#(|Zd1`py zNO;IrC;Yd;c9++m1mx7Dv#3TN8@2Cy+-)dq z3E)M{%r-kcZ&6Fy2)EBoxicbNe&)I>b4;^m8FMKNOF2zZh@qyx1f72%X9LfhMK-E~{wA zF2Gq@(CdBpIY#O)lBeno`JEb_rzhlgNxGnrRqMGDr^(Or*=TzJbh`l!U!z+QZQH$ zPM4}hZX}M5X-J+Ryj(8$ZWQPLXf4RVw;3Zu!qDHw#_cYDJh(F@?0#|P7b>Z=5Rs-9 z3P;Kv`$kg8_$r&OhsEweJ?pF5ZeY{%4CyCyK=e2Gf9tFc_705pt}g!_WWoPicSsyp z7+^sae|(EfSfTbE^h__2zh~j=Bm@VCqWiL^9 z8;BARig!4^#|z^xKJG<*S}j;u(mVYm%hO|Q;5ENur}mLT&6Mcc5C7vnziwDTGHX8* z0$14fj!~NTji{wgdJBSzyEZd3-DD1&T06%Rd5b4%FJB&6Ng0g@J`8Cw4L1^$w?Aw_ z2tXX1K*~sLBd}N*S}|TJ0$CbDvj{t3o-Jr_ky|zgc9v|0EFWBfDlKAId9eSMXGk^H zy)co^8@*Y3??R^%TM#?1eCMz4|8w1UwR18xG6CJN{@=P9`v0u^IjU>G=NE`Rml~QY z&Vd-BQs3reyq0lnNLZQ><7w5PQmhOF!|p{mIpjH|vNeZ?!v?jg6+7@_p9?BhsWG$* z{5w|~*UIVGuHPR%#CLO{Yj=uik{0+KYD06g_9)4`KM0z>@I_g6#=O0_C zY#xngo${BoC{hJt$+aFpTyR0{u~E=)YAEBFpwIlkSeD^?E_d$Wh}@;hA$+H^v#{M% zk(ZROwzKdxhdX`V!es7Fw(1|lAQ&3*Xol%;{?p~v?AIngP|>!o9cVP7?BAPLNB^B1 zK}#<1!Nh;Aw`jnJy8o=VRT}cDz&rhn&~TXXMbRRMeP~bCIeqwjY7a z`K*GFAz$N@Jrm=nZzi91+VXCi-r!bHb_%3Pls%|1xj*h`_R4--!-z7kNC-)5sDZ4v~HwAYGRRudGt2xa204_*mVcbbBo=m`ityyW2@NkZWcOc zM>0HbC5^;{p6S4@tWq^XX2I=GhN6%=akW74b5C#kLp?6`q=40kF$Zwx{ZZ!w1mZkG zk_P||?QI~g_n&KIM))!|^(C30$deulCPYSyJXGsnj6=_sxuT|A{sdkG^v6^lA2{O5 zcJ$$uVm5SM|6G%PllOxXNXu_93;gu9E)pwmu*e*j;?hmw*|cQ~_tftY!YO0)Kyr+~zXXptY|BNOu|egyMB7uMZY(T*jA1TOZ7%!iYSK zt*?-GmWq3fECgDZBgQnjxPtIjtR3zrvv>zEf8Jw9qa zC2u(_mN{X;e;zk>PCjrcJz6}6ZX^|!ADDxoWZzq9sbTT8%t*wMkAB|_27LExX1Wso^dJ&!-JmRzC@aO z#YWT>m*9pF{|*rRBCF^dYJLX?M z%q5K7aRmHbf3M2f#S>V>w=gwzVKR1h23`yB0op&;v#+^fzr&5{H*H{4##~~hl3%h0 zb-Zx$VPkw_ty@EZPr8%R(S$(dqVdm5%sC|_I<1X6eN}U^|0`?m^Q67N#AM22OSpx^ zmt3%j5K3*-&mx1nNXlQ60_uwp7gVAWucR=?Zi(>*I{|{|D{ePK3f;k@Q3SpVbbD8Y zq(M>;UIogKA#OL?4&0%y-Tdi z$wy^lZV_RbM;dr{NwjAmi!~f`(8UqN{LQqaib}}&sP7~01Db58rN}q}G^+2KBoWL~ zv1soq^g<0#`+AnyJPyhyjzYy`5>QdadQ)_Himz3{IV&R2gz+G-Jv2V%;zVlPz>HeJ zY8j^fexQGzrg%zI&A959Ts$<EI zfaVFAo#PE3hC2R|?>rd8&?r6W!#+OtW{W8NOZ3?Ou!ZgCHfji~B^kGcY9yY@2mIm# zYSQeJj~aWjLlnE8NU7RKQOA@Jh|DQv}h?Ij%CN5WEM4%&+@+G za?eS#PAC>@VolUs7iwk9jSp|9bI7$3A;};)<=&38)U(q1Hr{;=vv+@zS12vuzRq^I z$|jm^?U}(;O+rkqg@a15`NKjv(ol?5U^0n?!rGXXlK!zM1@0C$Cp$fz8Phygx@!H$ zyob}cy>1vJ!5YrjTifId$tY*UEf^1fhDW3bi$3S_Hrj*1vcn<(NzkOeI{d)X2lsx0|*~u0YvD3d% zVw)mtP(;R2P1fyQKCeoLmsr$KvW{)$iL5wIcGxp@MPcmaV!>}k3xi=>335>{?N|?( zqU$S|v+KtFiRHp+8i~a5aHxfowt;wI5V$klE)++2~|q7}1Z~p1(>{OfIol z{W{%4GfxA1#bfmNFfOP{hKUW$2={1cu<%4 zJU^|^zHB?81K;$47_;lS#EDeDM#lT3)SVFBLG^s==_BoaYVvh(hTmA*4@LCGZTl2{ zfLr9t)3%JY&Ciy~Uag!$cAYxCavRAtE^oflck@@?N{w^J7x)VTjZ6L3-xn+z`8wX0 zXSp1m_02yE=q7T+>>1(~Tou7SUNj@!_J zCZlIXNXN_x{k$xE+N|uMI6X9Z`vV3}q+j$9HLA|oPu?gr9sb>&1- z+Ss^zw=QBs~}aOq?KgR@r18;HPYQ@r-ftdt;iDRT{J;K zSwZ=FzFqj1zeP-38wPW}&H4o;uP)4M=p~$jpyYdIte9&|2IY_N-x&Q9rG4zFb`Bc7 zkO9fn`%)5%MG@H;1VJ`-A04GkLJ20VX1#Qrj>D_jXadTV}DNP480Mg-A^H~kK!#>>aG z5U>swi!DKG97AZ#A7Tr|dbG=ryrh$pkc`8``H=5;9N&(m6KB_=@5!p$*vY{7f7&$b zsO>A5xA_biPa%@ojc;g<=V%U2lz*V&X0uh>U657~aX;Jha&O0WZ>M&<@!@@bRd`=j zSlY;`?pIivQ1JbcARDkg|2i}OI`sWnNAdPC_drtY3E4CAPYx_r?mzmjkRVsRKoxwafN6-$MYen-1_}B4H_)y*3bxN^RQj^-cwy z;F;ioQ);>&aP)*N#@%R2^R~|~P8uYqCui6YUJ% zs%t3|MK*pDL$Dmqk|;TXmHB^5Qr*sokvxD1C?uE-^cSLVLq&Z;lM2+`%yJ0v_l{>9k&ej_?Gj5Dl0q*~_S6{GvgIM% znRR1U`$spNc-o7cwJCJ`zV5l?-9Fl9yNjt2HX@ zSSK}-=q@^mNJABX@fbf|r7Gu|J3pW1tiHfB?TG<=UW+vF5BHq~+R^Ob!AcBPea6<= zrl!9TziRoeG^ALb%|oyN1e~gKC_c9Qr*clXuXCjNv?1&IQ4(q!XC{u?U)C3`Zo$?YUCkR(n4p)Y^0Qly_-!?@Gn|#bV zzW@G}g|Mil()BVKQX^?pkVDpbCFKf^vo7X(aH_1SiPEegiX=wu)~Pn4RT8M!KjM{% zTsC+^msy?)?@O(@JXux6mkH=coR91vly}J)o)^I)Q{|Oz%P^uM zBVL{fr96xe$Ez7-X-iDqXWi#XTsJ3k=V^!bFKtfx)iuI!B{dd)TwpMwR z95N;aRrC!DZb#+S)ptTz0y=)TUVZD{#~CsB!#8$zavdAH{hppaix=%&6YrgL$A}{Q zse}|)x+6WcSv@c;J@fO&)I+}e&Q&3PiftDcY=a)=`y}C_uUS75kx`HyaoA=tpcQBD zKMxm*$eh&AvDlF@+e$aiDP~KXfkg`59Y8Pj_uGDPo6-9wY2ij%#g|w>rvwl1cT9w~ zDg(dD3r(^AjiD4paCK)6lPI5u))ov)uQrRa8wEGEVu>?+wu5DoVD#Hl^|c%AvC?sI z<`EwMq=5og9#<$M_@{*PBGKgHjT4mtfuf;F0r>V>cP_x^XUm3Y_XR`>bYzqbGyG&z zS7bY)2W6)b`iJHk$sT=iZ3OLU$qM`uA2+W-afGn;_d1V@wbKfK4bwQ1SuMVqhX6+a z9^u@nnZ+l_NVyW8umE&_#PKYX&DwLGF{kgds4jYzy^aaTxd`0zD~!we;odVPR>DAuI*H}r$+Cd(4Fb|V3%{?|_^BBN8<97EjY)2B8|;?0Kxh&*_-1^FZN(vQvsd!unSh9OUF05Rc=xN zgwC`oxs21iZPZX>Rmq2BDwOK&nAS?%hsUnH})cZDV*)kW&GgXlr2S zpOWVji_7OAjjL%AX_?ft9c>5m@8Faq~gFS z9_xF$Ig?@elrt1CKEA^MotkTBWN$@1EYy007`7eue%s9o1x>YtStv?o_+Y}=My}L> zJfN=oq9z=bvdiEfDaWK3hI`~p)JSN5KNcF2X1ng=Sl2i!=ek4`abk&Ep04?;oC;Al zM9grnH{SeHm=RZL^?C@wDItHgS%CoOT_JUMn`8=Uy3e$7kLNNEx%`suo{XT^<;)I9Xe zdKu9xu|4bnOl$L#-&C*}=Mxsj=j4QRj8wAh%Is7o0dZ}y z{>f_WneSjJV9w!qblO4s=KPdUH`-c+nCZ}3j4+{yBigx3fNhBoN6`q%K>B5~O!55$ z(Vl=x-gF^ps>liX5TWco5lC0aenRxVX6OQ3jk$g-3U!$8BH-wVXb1InR-JjpBLdK- zG=jDBoWYmRVN>I@!EQH1S2xcJ-F`GZo%5g9N4J9fZ#Kjp8+7K!Zh7-~W8rA6jA;G< zlH6{Jj_OC;+Y6g8D_c$rO4}8!bUdb|uitRsJzcl^$9aW34Scv>3Q1DO9~+36LrJ<` zUkgR_b}BcIV3pHY%HPJ3>Ay z%+Jhy%Ag`y_W4Nmx{F3oh*%_&3IZdt21VFO)JAMtcJi=)Ta=w|zZJ@5el|6E;0$U_ zTGpsE=EogZ_I5kkcYOQl6KqN1W;ezluwi3}5~Y-DT*Xr<7{f%T)IF6d%Uf5qqv^%x zqmyT6IPAIRA0g#_SU*#r>9J0^Q~OP_@$*bP31TgvVOGVyTCofUr`s+3NEC^O`-M8Q z@8M|b8=g&90CW0cP>D#SsgkFR0u?~0B*f(jM;R~+fHo^|@oxEf!~H`9@e7g%3}31_ zWqZ4C<8^$tks%IOvlA6c=FaMORnjimOo6i zCPgOX?h;j!UK^`PK>)#Tfv+jFjKAF`y2}u2Tx3Ov$ErR6%OcQLuBgB{N)7($=pFtP zlHc>FD=F$n=*bt600Crt?;5%;vRRS1yvtLs@lXgfJrXseDFyMRZ-(OjA}Ba{%Zq!? z#P5br*al2Ldw;QG^d-&;((?T2T#4fSDbqC$NlPN9a~D35d^iIKe#vdF@u4gK?W>Tt zdh6#I9$+1gS(rCBgu4zVHWyc!?I-*=CHFvxJL{2}nDfDe8xHjM7q zYcQz&3Zarsun)@SuJD0Jv5;$UK29P2s*H`}`l2oNH4pFCmc>ji(uRoN2xe zu*&DPEq&jg?($^Q_WG~$P1C>hxS6qT&KhK=sXIbO+=Jrsa)>G_MpwJO(ckVIt5Gbm zQk^)w=EVCN%Y-na~VZtYj z6JJ@2F>tVIVe4|};I$#cj5U|@aj30iZbZQ1A~#7wq0!OrC&z82>^>KeG<2VQ9GgPJz%dBu*BOUu|DDyRlHTAbpR07pW{NRyr0L8+&= zJXXyLr4kl@LjXbqzn8!R*FjFdRBNT`I}z+_BE;nY>dPbX`{baM)31CIqEBgL3Z{hI zn#6%v{Kq+S@fW-cB+cAH$cZ=cr#P+@`)kPa4?zmsbKW~1OgZxyN&QKlpNpk&h}R*| zV2~3JI7(6e6b5y~m_(dt2iHvZT>9(yDtNP1{C*_bG)5~@86`kc90~#RkqKDS(O=eFJzGCpIa|}bvgdgXOr(tdjNUr6O2iLmLG+!vpxke}Zw<-* z#-4`|=MerXNdX}H?VTuW09w9J=oSJ7rRDn!_T=x6gvE|Y(*Q%V*rcJJ#b0*!1o2Ny zL;ijh!mG1OGI6d+#j@=0uFy4ADtdFsZ_Cr+n9SaANFSFaUv=P{O-ez#ya zxFA`*0}4S!hZ+U_L^uZ9H~o((b;J?pIhK1`^T8_1#4J zJ@>9b{DE7R>KWG*ysjbkK033Dnszy(`SUYCvlQmEdvjw#05yHdq9A+0Xq$xl35}h6 zBHYUz>8^D78YXI~j#>ns&f*+I`3tnrGQWhi(O2_MZk7un;=CTeppN_X; zgJ{>=DRdvdB#Z(oN&av<9}Aof(!el6?1_O$sXSG}-emEr-DN;fm092m4(ecab+px# z;{cdrtHTVx1@~;*7BNZ7@b|L_fy<|Df4_#_jZ>uLoq|$AoYht;mJ_??0r4 zMWoX63dMdJ`R!Me`zJQ8J6Tg#dSJpdBYv-GvMeHxP=wUKC>1?Not%lp<=;*ngFk(u zsGQfMx>1&oSg6306qOzmKU0X^)<1q|J7@0>eWn^8@?er=l5H zR>Gk|D87Jy5t~xM+X>-HR&_0ab)LE~1lJ|6(N;{Jsfuk+A0yMUjZAPn=dD``&6tm( zzCK{7$i)k+CCb?_eyP1nV7)VARS?^NEL$5Vh`CzlL(N5GEqb^3m^5r>D z5BIU|HK>tzy82!QX95|*I66gQkL8c?6LKkE?xo9QclNB8=%Hli@6|22-{ z?b6BB)6`kiw%yG~blffICp{+SZ8$0thd36o)z*E8^HmRY%ud9bTHN{!KzVa%$&1JD zfv^RNOt{{Reo;g8%rDd9EWc0htDAByyZ}N$BI>jvLM6CDe4!M=#e%m{WJ<+&NE6O* z2#&NaELT2=m`PfX+lrm+L1W8H)^UmpN=yzRC$u4^#57)T0^a#aG=&gOL~hrqdf8Cf zNxkR#p7@AjxUej*H^P)_7nOyJKat$jU1bQLVZm1$qA<4f@ZbiP7jLJbv%OmNG2XXy za9yu(4KIw6G0nNNAr|x&dH9U=i0;8|DLJ3MqiZ6=T~4R<53QrbhrUn=cel_-i# z%X%n*HOiq)%jFH!0aU$ILT5ZLIc|RG!+Z*GM)}?9IbzrvU@OD1<_PoL`kdR)a6WJ# zZ6!idA~P<*t4g)r*|O457x>-dV=9>73mE&Mzp|`GaNKi8zkmmqWM5|=fg)k%m*a17 zc_f;x2|tQ?`+9maV_-|Uo|$Tw;e2X+zI_7USl99SMR5#QtWqLE4FSo=xCQYZFH!XM zXSkCp_#*Zl=2uq7>-`1Pg^V9YEHXfbYjllE4*|gg3>5k1V;p*)72JE7GR_6UF z$6pxPpqF6loQ*7W2iMU$SB$2YO2*rhH1rWS-hJzLUv`S+k_hZ9pGY@EmWVU)lbCjz zJ=P#8OXj%N>*B9gpQ{1-)(aNK>#BjU%Z&J{j5&RjZ~(45p?(4}F`GtA^GZT>=gh40 z->noMk?(Wc{0j$xNP@LlFa z2jon8<;K2lggnJY)vA@UevMmKaDiuAqZ{DcjKj;rdbC)NVi&mD-A^}8{;sy?O=H2A z)a0_L0gzn!CYL$?xk(+x3QP@5-0{poicm7!6(S1fY{#dA8*2fXg8PQ7YDSd^XBhl@ z|H-e>0s9x6Tmw85gWz)mkLIss66PEG_XjrEeaqvIXy)IIRu{mU_jKU~?)jCBZ~Ye! zul6=iBhK@^q-@&wU}QSokTx8X!*2~Y`aeg84Nv{@!NAKJKHJvu2t?TSTpr%TC^RiW zV;nOz6sYqJ8uFi)ptKPv9Fjwb57<4XBq;u{Rx_l`Xyl2*XXET=E_Y|y*ZwvK> z>4!+aaSs?eb>4!!_SZ^D4D6IYETTTfdfi?)zgqkyY4O`x)rUrd9UWQt1_ zyJ^iOl#~LM)doBH=#9F({*{P>cK6heealhSX?5I!2X+;QBoWT9QDmgu6eCyrnOh<| z1HgYJJm}Ie_uzW4veOIO4`?0OXv0X=L;d_cV8S)&gD4QI;aH`s9lBY>U_HxGf^YdV zQ7f*W0+M95@k&<|_g!i!26G&r4ZefjLk&MRnonw!6uM)_xW09fWwmrtt@`alszL0Qrtor=1h zu5!m%D7L|I1$|#Dx36xuE2ep;1W2?I*>8n91%1zKdvPm2q_Z;p-iZx7WU3i9SsEq! zu{(4^aXC$U7CL|v;COcMr4%&c%~_=+I&15%T!?0W}q zHiR}>?Uc6c_;vWlFi2X1)iVI;JDB?b89-Op1uaF!PeW3cR2Sc z2)$N*|D!k`_ulIA{*1%V25Io1JLrz@Mdkm{J?0L8-|}^BQ*@L6g>AXdr|*qIZr_0A zrbwto0{=n-&RE?>W04hC-?O6*@hFxryCExm{|=W9&T&=tu(ka8 zTDf}ab3xrF^P!$2F~r=s3Q3ODUL#hfc&FOB=^dZyA#NTSXEis?!M^ardqW<2zJ{C~ zrwM*9R(qW32wskRzv=yY?zOFvlvxODs!ea=t;vk*4F~fscG1X6r0G8)9|x*lkT&rC zK;%CY{`-}cfBv82;%;hW?fl;_g94wch5-Mt|Ihm?lj`zuS-|(+E^BI!N>con4+d&i zZ9X@hRJAm_!w?2yJD4ojcJy?!`%80CR-~+o3ZpICZ+2#wL$tlTs%h-y%juk$owMY9 z664I68vmxr+vDr|h#uCMW8_WKz2B2BkYILv!-hvQz_i66vI}3vwHZosDka5%!85( z#g_W<giE3_%yi7dr}i)wGbpWNp|4qv`VMPf$hAq?Bubj3CPP?n3kWFX12?tg#7RiVl2N;Yq6i zUT`0i^Z^A(bY{3u8^9<)@fyUApKdkM)!ZlqUi^G{@Rq}fc@|NzzGW<0KKw4qWL)0X z?AkrkQ?WU3jGR)~%DqER0_;0d2jER)F}<>-L~F$SIG3Ctpt_FzeX5i#??t1yNx@x}PwEOh)(3}bSFw&O#wOJH(7 z9c7##TXI02T|aH*U8h{sAfq(Fz0GXrM1C57#w?q`d5T(6F_#!NFon+88rAYo`W1r` zp3m9oRg1_cciW|K$3sI+>lzi0WZSQntk%aPg7b_<+N4iN>8zB`$SuuWG&{YuGqI_c z`~*xO^t0B@rzEr-ndRzafN?XnuaygKD>RPe!4jRwo9B#V210>VGkuERpJVD=V~lyX=XZUJ z)fm$JFU0T{0DR-v|J6A9s}uB}Jg~Q)ixr>D|KWgxXiPm`scciU)4*q& zc#f-?)ZaFjbCL(!sHMAP=j7y|1EcSARp9LXM$gR18jbsR+Z6mtF@5yq+d-fEt=0iN8*#I}mUx3ECj0~AuSnTXS!PdtsMZBU$m z^WeagCQd+dWNPMo5}Yj>fF}JsXKE-N=nMW@gQ4L-)k?~PM>p7vJ&K%D+6R@eMYq=QDn8MNu zOJ*e1WKLnA&=9M95IUC6zTHJA2JOODj)pP~bF=z2xUj~0mb;D4&{!B;qkof(-h0fg z1voO^v)7i$5Aa)WC0n6q*Q+X-3vriwu__f9CM7ox`{hghM7Iatqp5BgA3Hz2#0*G$ z9smDvC^vrj&dovp*~uNNQQu`*+P?LBz||Io)U{lWYmp_9@duIK@xEMYMKD{W3wt}e z+r>}BQ;tZHUJpP-_qq5Cd~`%r_zC0(3OcZ9kXsFu&{wO|WXyh85tn*Bx%EP2trggfAu`s`MD2v6({fqN`iy^c8^*z5z+(@XU_OaF!2q+=-|Yk zN0oDstE;YiGw+*QdVYl*^xQ+PIl`@AFS86;A9$(gm(fVp(ZGXRG-LvJMkzh^N! zo6SD24c|j>AJ;ydLj4GhAnO&+NyGr~o~VQAwZ}ic%Y+_G%>DKVDkq8zl*vjpVB5K` zv;31c>$jZN*tvquCzjNVQx2bkmdor};WUEil|{f^_fU2%Elxp7%@E(Q3C9BdN&fl( zqe-^1V1D^H6`hWmj=VP3QpXD&n~T(gvg@dywCPZlC+%z?fr$1BxNEPs7a)n^gh;Ek z)-vnz;D^4bRrzri5kBkV?Yv#VjF$HzA~s3ygha-SM`1uaP)T)%e}PyZxKt+0s z*;f+EUE#zv(+VZ^*UI``k`PHfB@}x$85T@VqE?x`c(Aq^H#aCh$92C(%G`Bt$WN$q z48kuG(R+M}i9Q)W!5>CVsor-}5=OM9v!u*6td$gt$ET>6aI}(*f2gi}@CW|OVA96` z@hGe24Vw8EWp_OJf{Hdq&7_H3ll7&%w58E)RwED+qr!UixfBC0yTK{Tk!q^IRt)kz z{q6F&8kvYyP~ru6HdQJFlUocgI119R;-%v3w1?t#ak~Tqi?P3-yI!}o5;F(}|qt~6KF?O#FCt{6X z@4ih=i*Ira*OAIDF}>vwv>|1_w^yrRZ8%RoAq#I%NpB-zo_#Ak%W4#x`wC9pdKt2?r?WKaNC#3HYf1%VvHAZK8 z5EjvgN;k`iNQ>(j9=F}4t zW+nUSkl+qcz{C6rXV@{xMPi)|k0^)5n-a2l`62#n8B_)t6pp_{lUrjU(v7d&x!fEd zcJR)+1|8bc>R_e9G1vj^f+cop=~1#Ety_2Ug(VPhGsrfq9V?j z-AOa;We;tA%!3Ho6JnQXLeRfV<&Jd9V1ax=is(}d*Dqy#%nYQW#Ijo-49J!>5cIzE z#0U+NmgsSg{RL8>rvULZ5avtnfFB zAv=k@We=lleWb0>MJ?TH_MjgnnBEof*S-%Tr{=!BOBT^et+jGX&W(|>yu5tmI>RGP zERzsNwBT=DwuPG<_Nopl*^1iCQ_p+%z!e_-&Eb1rbL8)lO7!*9%@E*|T!Iz$@VM;O znW`|I49aSA#Fk9+i^kE43(jiHWHBSNV-Wna$GXKE-|hLbt2ShpL|}|N)EvaG9lKC$ z+9ce5ZHg{=!F?5`4oYUkuTw8@_(*a-l7EgVZ@%9vrF1>X`qd+}aem0I+dzlW_I ziEUB72M*zikER-|lAtW6j)M_{#z6A^blJUl4?(?f6F)&&Rwc)^n~dP)WwMCfFW$$w z)jFO2KAkVrX~C}XSAy+M%TJ74cKEURN9YpQjw8YvCp-hzi23!22KM-B#bbeXwdY;$ za;{a-M#x$dXSYN^mAr&+BAn=sF{M@juN)$|}l-odna6*U^+~JcQH)AQ3 z3FFcvOujhJPE1sJp0=Y7QB5G%l#R00M5^Vo9P%iHefvPr0CZg=m8hdNWL6<3yw&T_ zCAR{XRso#^B=rjSOPe`Di%Wr0_3q_f$e8*?O50B4w;P)9y<02ls#~0Q-hxx8=nXGn z&d;t1-9E{EF)`4|Z#_qOI_+(7?L>!`wc?V{Qb1R=fD)z1Qf~h$+jJO7uaU1>Y7W`> zR_ybI$Zg2Nwo^er*5LzjWYIodd*jMIrNb0Ip_94m!{Kq2R8>n_WWQ1r_bA0=b9Xb{ zEo@f=tj<*8X`)}x=L{_5b7DoYV-3x1JH=IRY5mfGZ=l)oSK;9e+}DKKS4m9&?%v-n z_20Ya3iE~q|5s%0=06VjPyf#Iru!H@W=V-#w?EyraRx;Hoe!k1PngIpWH~=Z$ncA4 zYSaS1lpz${#C9Vh6{P*e4EuIx%YYxr7hrBDt827a6R2)2TRNar z1xWq1-xAgpGug3ZaD`OB1Bx+OBpUq`C3r_G(nxs3SCFEtqOHg{eLSg=VH. +*/ + +import {Gdk, Gio, GLib, DesktopAppInfo} from '../dependencies/gi.js'; +import {FileItemIcon} from '../dependencies/localFiles.js'; + +import {_} from '../dependencies/gettext.js'; + +export {DesktopFileIcon}; + +const DesktopFileIcon = class extends FileItemIcon { + _updateMetadataFromFileInfo(fileInfo) { + super._updateMetadataFromFileInfo(fileInfo); + + this._isDesktopFile = + this._attributeContentType === 'application/x-desktop'; + + if (this._isDesktopFile && this._writableByOthers) { + console.log( + `desktop-icons: File ${this._displayName} is writable` + + 'by others - will not allow launching' + ); + } + + if (this._isDesktopFile) { + try { + this._desktopFile = DesktopAppInfo.new_from_filename( + this._file.get_path() + ); + + if (!this._desktopFile) { + console.log( + `Couldn’t parse ${this._displayName} as a desktop` + + ' file, will treat it as a regular file.' + ); + + this._isValidDesktopFile = false; + } else { + this._isValidDesktopFile = true; + } + } catch (e) { + console.log(`Error reading Desktop file ${this.uri}: ${e}`); + } + } else { + this._isValidDesktopFile = false; + } + + if (this._isValidDesktopFile) + this._execLine = null; + + this._trusted = + fileInfo.get_attribute_as_string('metadata::trusted') === 'true'; + + this._getActions(); + } + + _getActions() { + if (!this.trustedDesktopFile) + return; + + this.desktopAppInfo = + DesktopAppInfo.new_from_filename(this.path); + + this.actionMap = new Map(); + + const actions = this.desktopAppInfo.list_actions(); + + actions.forEach(action => { + const actionName = + this.desktopAppInfo.get_action_name(action); + + this.actionMap.set(actionName, action); + }); + } + + _makeActionMenu() { + this._actionmenu = Gio.Menu.new(); + for (const [actionName, action] of this.actionMap) { + const variant = + new GLib.Variant('as', [this.path, actionName, action]); + + const menuItem = Gio.MenuItem.new(actionName, null); + menuItem.set_action_and_target_value('app.desktopAction', variant); + this._actionmenu.append_item(menuItem); + } + } + + getMenu() { + if (!this.hasActions) + return null; + + this._makeActionMenu(); + return this._actionmenu; + } + + async _doOpenContext(context, fileList = []) { + if (this._isDesktopFile) { + try { + this._launchDesktopFile(context, fileList); + } catch (e) {} + + return; + } + + await super._doOpenContext(context, fileList); + } + + _launchDesktopFile(context, fileList) { + if (this._desktopManager.writableByOthers) { + const title = _('The Displayed Desktop is writable by others'); + const error = + _( + '.deskop files cannot be launched from this Desktop' + + ' as the Desktop Folder is writable by other users.\n\n' + + 'Please check the permissions of this Desktop Folder,' + + ' and make sure it is not writable by others.' + ); + + this._showerrorpopup(title, error); + return; + } + if (!this._isValidDesktopFile) { + const title = _('Broken Desktop File'); + const error = + _( + 'This .desktop file has errors or points to a program' + + ' without permissions. It can not be executed.\n\n' + + 'Edit the file to set the correct executable Program.' + ); + + this._showerrorpopup(title, error); + return; + } + + if (this._writableByOthers || !this._attributeCanExecute) { + const title = _('Invalid Permissions on Desktop File'); + const a = _('This Desktop File has incorrect Permissions.'); + const aa = _('Right Click to edit Properties, then:'); + let error = `${a} ${aa}\n`; + const b = _('Set Permissions, in'); + const c = _('Others Access'); + const d = _('Read Only'); + const e = _('or'); + const f = _('None'); + const g = _('Enable option'); + const h = _('Allow Executing File as a Program'); + if (this._writableByOthers) + error += `\n${b} "${c}", "${d}" ${e} "${f}"`; + + if (!this._attributeCanExecute) + error += `\n${g}, "${h}"`; + + this._showerrorpopup(title, error); + return; + } + + if (!this.trustedDesktopFile) { + const title = _('Untrusted Desktop File'); + const a = + _('This Desktop file is not trusted, it can not be launched.'); + const b = _('To enable launching, right-click, then:'); + const c = _('enable'); + const d = _('Allow Launching'); + + const error = `${a} ${b}\n\n${c} "${d}"`; + this._showerrorpopup(title, error); + return; + } + + let object = + this.DesktopIconsUtil.checkAppOpensFileType( + this._desktopFile, + fileList[0], + null + ); + + if (this.trustedDesktopFile && + (!fileList.length || object.canopenFile) + ) { + this._desktopFile.launch_uris_as_manager( + fileList, + context, + GLib.SpawnFlags.SEARCH_PATH, + null, + null + ); + } else if (this.trustedDesktopFile && !object.canopenFile) { + const Appname = object.Appname; + const title = _('Could not open File'); + const error = + _('{appName} can not open files of this Type!') + .replace('{appName}', Appname); + + this._showerrorpopup(title, error); + } + } + + _updateName() { + if (this._isValidDesktopFile && + !this._desktopManager.writableByOthers && + !this._writableByOthers && + this.trustedDesktopFile + ) + this._setFileName(this._desktopFile.get_locale_string('Name')); + else + this._setFileName(this._getVisibleName()); + + this._setAccesibilityName(); + } + + _handleDroppedUris( + X, Y, + x, y, + fileList, + _gdkDropAction, + _localDrop, + _event + ) { + if (this._isValidDesktopFile) { + // open the desktop file with these dropped files as the arguments + this.doOpen(fileList); + return Gdk.DragAction.COPY; + } else { + return false; + } + } + + _dropCapable() { + if (this._isValidDesktopFile) + return true; + else + return false; + } + + _addEmblemsToIconIfNeeded(iconPaintable, position = 0) { + let emblem = null; + let newIconPaintable = iconPaintable; + + if (this._isDesktopFile && + (!this._isValidDesktopFile || !this.trustedDesktopFile) + ) { + emblem = Gio.ThemedIcon.new('icon-emblem-unreadable'); + + newIconPaintable = + this._addEmblem(newIconPaintable, emblem, position); + + position += 1; + } + + return super._addEmblemsToIconIfNeeded(newIconPaintable, position); + } + + async onAllowDisallowLaunchingClicked() { + if (this._isDesktopFile) + this.metadataTrusted = !this.trustedDesktopFile; + + await super.onAllowDisallowLaunchingClicked(); + } + + get canRename() { + return !this.trustedDesktopFile; + } + + get displayName() { + if (this.trustedDesktopFile) + return this._desktopFile.get_name(); + + return super.displayName; + } + + get isDesktopFile() { + return this._isDesktopFile; + } + + get trustedDesktopFile() { + return this._isValidDesktopFile && + this._attributeCanExecute && + this.metadataTrusted && + !this._desktopManager.writableByOthers && + !this._writableByOthers; + } + + get isValidDesktopFile() { + return this._isValidDesktopFile; + } + + get hasActions() { + return this.trustedDesktopFile && this.actionMap.size > 0; + } +}; diff --git a/ding/app/desktopFolderMonitor.js b/ding/app/desktopFolderMonitor.js new file mode 100644 index 0000000..a8b2950 --- /dev/null +++ b/ding/app/desktopFolderMonitor.js @@ -0,0 +1,660 @@ +/* ADW-DING: Desktop Icons New Generation for GNOME Shell + * + * Adw/Gtk4 Port Copyright (C) 2025 Sundeep Mediratta (smedius@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 . + */ + +import {IconCreator} from '../dependencies/localFiles.js'; +import {DesktopFolderUtils} from '../dependencies/localFiles.js'; + +import {Gio, GLib} from '../dependencies/gi.js'; +import {_} from '../dependencies/gettext.js'; + +export {DesktopMonitor}; + +const DesktopMonitor = class extends DesktopFolderUtils { + constructor(desktopManager) { + super(); + this.desktopManager = desktopManager; + this.mainApp = desktopManager.mainApp; + this.DesktopIconsUtil = desktopManager.DesktopIconsUtil; + this.desktopActions = desktopManager.desktopActions; + this.dbusManager = desktopManager.dbusManager; + this.windowManager = desktopManager.windowManager; + this.Prefs = desktopManager.Prefs; + this.FileUtils = desktopManager.FileUtils; + this.Enums = desktopManager.Enums; + + this._desktopFilesChanged = false; + this._readingDesktopFiles = false; + this._fileList = []; + this._forcedExit = false; + this._writableByOthers = false; + + this._updateWritableByOthers().catch(e => console.error(e)); + this._createDesktopChangeActions(); + this._monitorDesktopDirChanges(); + this._monitorDesktopChanges(); + this._monitorVolumes(); + this.DBusUtils = this.desktopManager.DBusUtils; + + this.DBusUtils.GtkVfsMetadata.connectSignalToProxy( + 'AttributeChanged', + this._metadataChanged.bind(this) + ); + + this._updateFileList().catch(e => console.error(e)); + } + + _createDesktopChangeActions() { + const changeDesktop = Gio.SimpleAction.new('changeDesktop', null); + + changeDesktop.connect('activate', () => { + this.changeDesktop(); + }); + + this.mainApp.add_action(changeDesktop); + + this.restoreDefaultDesktopAction = + Gio.SimpleAction.new('restoreDefaultDesktop', null); + + this.restoreDefaultDesktopAction.connect('activate', () => { + this.restoreDefaultDesktop(); + }); + + this.mainApp.add_action(this.restoreDefaultDesktopAction); + + this.restoreDefaultDesktopAction + .set_enabled(!this.isDefaultDesktop); + } + + stopMonitoring() { + if (this._monitorDesktopCancellable) + this._monitorDesktopCancellable.cancel(); + + this._forcedExit = true; + if (this._desktopEnumerateCancellable) + this._desktopEnumerateCancellable.cancel(); + + super._stopMonitoring(); + } + + onDesktopFolderChanged(newDesktopDir) { + const fileType = + newDesktopDir.query_file_type( + Gio.FileQueryInfoFlags.NOFOLLOW_SYMLINKS, + null + ); + + if (fileType === Gio.FileType.SYMBOLIC_LINK) { + const header = _('Desktop Folder Change Failed'); + const text = _('The new Desktop Folder is a Symbolic Link'); + + this.dbusManager.doNotify(header, text); + return; + } else if (fileType !== Gio.FileType.DIRECTORY) { + const header = _('Desktop Folder Change Failed'); + const text = + _('The new Desktop Folder does not exist or is not a Folder!'); + + this.dbusManager.doNotify(header, text); + return; + } + + if (newDesktopDir.get_path() === + this._desktopDir.get_path() + ) + return; + + const header = _('Desktop Folder Changed'); + const text = _('Switching to new Desktop...'); + this.dbusManager.doNotify(header, text); + + this._desktopDir = newDesktopDir; + + this.restoreDefaultDesktopAction + .set_enabled(!this.isDefaultDesktop); + + this._updateWritableByOthers() + .catch(e => console.error(e)); + + this._desktops.forEach(d => d.unsetErrorState()); + + this._updateFileList().catch(e => console.error(e)); + + this._monitorDesktopChanges(); + } + + async _updateWritableByOthers() { + try { + const info = + await this._desktopDir.query_info_async( + Gio.FILE_ATTRIBUTE_UNIX_MODE, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_LOW, + null + ); + + this.unixMode = + info.get_attribute_uint32(Gio.FILE_ATTRIBUTE_UNIX_MODE); + + let writableByOthers = + (this.unixMode & this.Enums.UnixPermissions.S_IWOTH) !== 0; + + if (writableByOthers !== this._writableByOthers) { + this._writableByOthers = writableByOthers; + + if (this._writableByOthers) { + console.log('desktop-icons: The desktop is writable by' + + ' others. Not allowing launching any desktop files.' + ); + } + + return true; + } else { + return false; + } + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) { + this._writableByOthers = true; + + return true; + } + throw e; + } + } + + _monitorDesktopChanges() { + const cancellable = new Gio.Cancellable(); + + if (this._monitorDesktopCancellable) + this._monitorDesktopCancellable.cancel(); + + this._monitorDesktopCancellable = cancellable; + + this._monitorDesktopDir = + this._desktopDir.monitor_directory( + Gio.FileMonitorFlags.WATCH_MOVES, + cancellable + ); + + this._monitorDesktopDir.set_rate_limit(1000); + + const monitorID = this._monitorDesktopDir.connect( + 'changed', + (obj, file, otherFile, eventType) => { + this._updateFileListIfChanged(file, otherFile, eventType) + .catch(e => console.error(e)); + } + ); + + cancellable.connect( + () => { + this._monitorDesktopDir.disconnect(monitorID); + this._monitorDesktopDir.cancel(); + this._monitorDesktopDir = null; + this.monitorDesktopCancellable = null; + } + ); + } + + + _monitorVolumes() { + this._volumeMonitor = Gio.VolumeMonitor.get(); + + this._volumeMonitor.connect( + 'mount-added', + () => { + this.onMountAdded(); + } + ); + + this._volumeMonitor.connect( + 'mount-removed', + () => { + GLib.timeout_add( + GLib.PRIORITY_DEFAULT, + 500, + () => { + this.onMountRemoved(); + return GLib.SOURCE_REMOVE; + } + ); + } + ); + } + + async _updateFileListIfChanged(file, otherFile, eventType) { + if (eventType === Gio.FileMonitorEvent.CHANGED) { + // use only CHANGES_DONE_HINT + return; + } + + if (!this.Prefs.showHidden && (file.get_basename()[0] === '.')) { + // If the file is not visible, we don't need to refresh the desktop + // Unless it is a hidden file being renamed to visible + if (!otherFile || (otherFile.get_basename()[0] === '.')) + return; + } + + switch (eventType) { + case Gio.FileMonitorEvent.MOVED_IN: + case Gio.FileMonitorEvent.MOVED_CREATED: + /* Remove the coordinates that could exist to avoid conflicts + between files that are already in the desktop and the new one + */ + try { + const info = new Gio.FileInfo(); + + info.set_attribute_string( + 'metadata::desktop-icon-position', '' + ); + + file.set_attributes_async( + info, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_LOW, + null + ); + } catch (e) { + // can happen if a file is created and deleted very fast + } + break; + case Gio.FileMonitorEvent.ATTRIBUTE_CHANGED: + /* The desktop is what changed, and not a file inside it */ + if (file.get_uri() === this._desktopDir.get_uri()) { + if (await this._updateWritableByOthers()) { + try { + await this._updateFileList(); + } catch (e) { + console.error( + e, + 'Exception while updating desktop from' + + ` Directory Monitor attribute change: ${e.message}` + ); + } + } + return; + } + break; + } + + try { + await this._updateFileList(); + } catch (e) { + console.error( + e, + 'Exception while updating desktop from Directory Monitor: ' + + `${e.message}` + ); + } + } + + async _updateFileList() { + if (this._readingDesktopFiles) { + // just notify that the files changed while being read from disk. + this._desktopFilesChanged = true; + + if (this._desktopEnumerateCancellable && !this._forceDraw) { + this._desktopEnumerateCancellable.cancel(); + this._desktopEnumerateCancellable = null; + } + + return; + } + + this._readingDesktopFiles = true; + this._forceDraw = false; + this._lastDesktopUpdateRequest = GLib.get_monotonic_time(); + let fileList; + + while (true) { + this._desktopFilesChanged = false; + try { + // eslint-disable-next-line no-await-in-loop + fileList = await this._doReadAsync(); + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) { + fileList = []; + break; + } + + throw e; + } + + if (this._forcedExit) + return; + + if (fileList !== null) { + if (!this._desktopFilesChanged) + break; + + if (this._forceDraw) { + this._fileList = fileList; + this.desktopManager.refreshDesktop(); + this._lastDesktopUpdateRequest = GLib.get_monotonic_time(); + } + } + + // eslint-disable-next-line no-await-in-loop + await this.DesktopIconsUtil.waitDelayMs(500); + + if ( + (GLib.get_monotonic_time() - this._lastDesktopUpdateRequest) > + 1000000 + ) + this._forceDraw = true; + else + this._forceDraw = false; + } + + this._readingDesktopFiles = false; + this._forceDraw = false; + this._fileList = fileList; + this.desktopManager.refreshDesktop(); + } + + async _doReadAsync() { + if (this._desktopEnumerateCancellable) + this._desktopEnumerateCancellable.cancel(); + + + const cancellable = new Gio.Cancellable(); + this._desktopEnumerateCancellable = cancellable; + + try { + const fileList = []; + + const extraFoldersItems = + this.DesktopIconsUtil.getExtraFolders().map( + async ([newFolder, fileTypeEnum]) => { + try { + if (imports.system.version < 17200) { + Gio._promisify( + newFolder.constructor.prototype, + 'query_info_async' + ); + } + + const newFolderInfo = + await newFolder.query_info_async( + this.Enums.DEFAULT_ATTRIBUTES, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_DEFAULT, + cancellable + ); + + fileList.push( + new IconCreator( + this.desktopManager, + newFolder, + newFolderInfo, + fileTypeEnum, + null + ) + ); + } catch (e) { + if (e.matches( + Gio.IOErrorEnum, + Gio.IOErrorEnum.CANCELLED) + ) + throw e; + + console.error(e, + `Failed with ${e.message} while adding` + + ` extra folder ${newFolder.get_uri()}` + ); + } + } + ); + + const getLocalFilesInfos = + async () => { + const childrenInfo = + await this.FileUtils.enumerateDir( + this._desktopDir, + cancellable, + GLib.PRIORITY_DEFAULT, + this.Enums.DEFAULT_ATTRIBUTES + ); + + childrenInfo?.forEach(info => { + const fileItem = + new IconCreator( + this.desktopManager, + this._desktopDir.get_child(info.get_name()), + info, + this.Enums.FileType.NONE, + null + ); + + if (fileItem.isHidden && !this.Prefs.showHidden) { + /* if there are hidden files in the desktop and the + user doesn't want to show them, remove the + coordinates. This ensures that if the user enables + showing them, they won't fight with other icons + for the same place + */ + if (fileItem.savedCoordinates) { + // only overwrite them if needed + fileItem.savedCoordinates = null; + } + return; + } + + fileItem.savedCoordinates = + fileItem.savedCoordinates ?? null; + + fileItem.dropCoordinates = + fileItem.dropCoordinates ?? null; + + if (fileItem.savedCoordinates === null || + fileItem.dropCoordinates === null + ) { + const basename = fileItem.file.get_basename(); + this._checkBasenameInPending(fileItem, basename); + } + + fileList.push(fileItem); + }); + }; + + const mountsItems = + this.DesktopIconsUtil.getMounts(this._volumeMonitor).map( + async ([newFolder, fileTypeEnum, gioMount]) => { + try { + if (imports.system.version < 17200) { + Gio._promisify( + newFolder.constructor.prototype, + 'query_info_async' + ); + } + + const newFolderInfo = + await newFolder.query_info_async( + this.Enums.DEFAULT_ATTRIBUTES, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_DEFAULT, + cancellable + ); + + fileList.push( + new IconCreator( + this.desktopManager, + newFolder, + newFolderInfo, + fileTypeEnum, + gioMount + ) + ); + } catch (e) { + if (e.matches( + Gio.IOErrorEnum, + Gio.IOErrorEnum.CANCELLED) + ) + throw e; + + console.error(e, + `Failed with ${e.message} while ` + + `adding volume ${newFolder}` + ); + } + }); + + await Promise.all( + [ + getLocalFilesInfos(), + ...extraFoldersItems, + ...mountsItems, + ] + ); + + if (this._desktopFilesChanged && !this._forceDraw) + return null; + + return fileList; + } catch (e) { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { + console.error(e, + 'Failed to read contents of' + + `${this._desktopDir.get_path()}` + ); + } + + return null; + } finally { + if (cancellable === this._desktopEnumerateCancellable) + this._desktopEnumerateCancellable = null; + } + } + + _checkBasenameInPending(fileItem, basename) { + if (basename in this._pendingSelfCopyFiles) { + if (fileItem.savedCoordinates === null) { + fileItem.savedCoordinates = + this._pendingSelfCopyFiles[basename]; + } + + delete this._pendingSelfCopyFiles[basename]; + return; + } + + if (basename in this._pendingDropFiles) { + fileItem.dropCoordinates = this._pendingDropFiles[basename]; + delete this._pendingDropFiles[basename]; + return; + } + + const regex = /\(.*\)[^()]*$/; + let basenameStart; + const lastParenthesisPosition = basename.search(regex); + + if (lastParenthesisPosition > 1) { + basenameStart = basename.slice(0, lastParenthesisPosition - 1); + if (basenameStart) { + for (let fileName of Object.keys(this._pendingDropFiles)) { + if (fileName.startsWith(basenameStart)) { + fileItem.dropCoordinates = + this._pendingDropFiles[fileName]; + + delete this._pendingDropFiles[fileName]; + } + } + } + } + } + + _metadataChanged(proxy, nameOwner, args) { + const filepath = GLib.build_filenamev([GLib.get_home_dir(), args[1]]); + + if (this._desktopDir.get_path() === GLib.path_get_dirname(filepath)) { + for (let fileItem of this._fileList) { + if (fileItem.path === filepath) { + fileItem.updatedMetadata(); + break; + } + } + } + } + + onMountAdded() { + this._updateFileList().catch(e => { + console.log( + 'Exception while updating Desktop after a' + + ` mount was added: ${e.message}\n${e.stack}` + ); + }); + } + + onMountRemoved() { + this._updateFileList().catch(e => { + console.log( + 'Exception while updating Desktop after a ' + + `mount was removed: ${e.message}\n${e.stack}` + ); + }); + } + + fileExistsOnDesktop(searchName) { + const listOfFileNamesOnDesktop = this._fileList.map(f => f.fileName); + + if (listOfFileNamesOnDesktop.includes(searchName)) + return true; + else + return false; + } + + getDesktopUniqueFileName(fileName) { + let fileParts = this.DesktopIconsUtil.getFileExtensionOffset(fileName); + let i = 0; + let newName = fileName; + + while (this.fileExistsOnDesktop(newName)) { + i += 1; + newName = `${fileParts.basename} ${i}${fileParts.extension}`; + } + return newName; + } + + async getFileList() { + const fileList = await this._doReadAsync(); + this._fileList = fileList; + return fileList; + } + + async reLoadFileList() { + await this._updateFileList().catch(e => logError(e)); + } + + get fileList() { + return this._fileList; + } + + get _desktops() { + return this.windowManager.desktops; + } + + get _pendingDropFiles() { + return this.desktopManager.pendingDropFiles; + } + + get _pendingSelfCopyFiles() { + return this.desktopManager.pendingSelfCopyFiles; + } + + get desktopDir() { + return this._desktopDir; + } +}; + diff --git a/ding/app/desktopGrid.js b/ding/app/desktopGrid.js new file mode 100644 index 0000000..2432382 --- /dev/null +++ b/ding/app/desktopGrid.js @@ -0,0 +1,3141 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Gtk4 Port Copyright (C) 2022 - 2025 Sundeep Mediratta (smedius@gmail.com) + * Copyright (C) 2019 Sergio Costas (rastersoft@gmail.com) + * Based on code original (C) 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, 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 . + */ +import {GObject, Gtk, Gdk, GLib, Gio, Graphene, Gsk, Adw} from '../dependencies/gi.js'; +import {_} from '../dependencies/gettext.js'; + +export {DesktopGrid}; + +// eslint-disable-next-line no-unused-vars +const DisplayGrid = class { + constructor(params) { + const { + desktopManager, + desktopName, + desktopDescription, + asDesktop, + hidden = false, + desktopIndex = 0, + } = params; + this._destroying = false; + this._desktopManager = desktopManager; + this._mainapp = desktopManager.mainApp; + this._dragManager = desktopManager.dragManager; + this.Prefs = this._desktopManager.Prefs; + this.DesktopIconsUtil = this._desktopManager.DesktopIconsUtil; + this.DBusUtils = this._desktopManager.DBusUtils; + this.Enums = this._desktopManager.Enums; + this.elementSpacing = this.Enums.GRID_ELEMENT_SPACING; + this.gridPadding = this.Enums.GRID_PADDING; + this._desktopName = desktopName; + this._desktopIndex = desktopIndex; + this._asDesktop = asDesktop; + this._desktopDescription = desktopDescription; + this._hidden = hidden; + this._using_X11 = this.DesktopIconsUtil.usingX11(); + this.directoryOpenTimer = null; + this.windowGlobalRectangle = new Gdk.Rectangle(); + this._updateWindowGeometry(); + this._updateUnscaledHeightWidthMargins(); + this._createGrids(); + + this._window = + new Gtk.ApplicationWindow( + { + application: desktopManager.mainApp, + 'title': desktopName, + } + ); + + this._window.update_property( + [Gtk.AccessibleProperty.LABEL], + [_('Desktop Icons')] + ); + + if (this._asDesktop) { + this._window.set_decorated(false); + this._window.set_deletable(false); + this._window.set_resizable(false); + + // Transparent Background only if this is working as a desktop + this._window.set_name('desktopwindow'); + + this._window + .set_default_size(this._windowWidth, this._windowHeight); + + this._window + .set_size_request(this._windowWidth, this._windowHeight); + + this._mappedPromise = + new Promise(resolve => (this._resolveMapped = resolve)); + + if (!this._using_X11) { + // Wayland Compositer hang on some high resolution + // requires all windows be maximized to map and display + // initially. + this._window.maximize(); + } + + this._window.connect('map', () => { + if (!this._resolveMapped) + return; + this._resolveMapped(true); + this._resolveMapped = null; + // Maximize however creates an error where the window can + // be moved by the user by dragging down on top panel. + // So we unmaximize all windows after they are mapped + // as maximization is not needed anymore. + this._window.unmaximize(); + }); + } else { + // Opaque black test window + this._window.set_name('testwindow'); + } + + // Remove any other css classes, even if applied by other apps later + this._window.set_css_classes(['background']); + this._window.connect('notify::css_classes', () => { + this._window.set_css_classes(['background']); + }); + + this._window.connect( + 'close-request', + () => { + if (this._destroying) + return false; + + if (this._asDesktop) { + // Do not destroy window when closing if the instance + // is working as desktop + return true; + } else { + // Exit if this instance is working as an + // stand-alone window + this._desktopManager.terminateProgram(); + return false; + } + } + ); + + // New: one fixed root that contains both layers + this._rootFixed = new Gtk.Fixed(); + this._rootFixed.set_size_request(this._windowWidth, this._windowHeight); + + this._container = new Gtk.Fixed(); + this._containerContext = this._container.get_style_context(); + this._container.set_size_request(this._windowWidth, this._windowHeight); + this._containerContext.add_class('unhighlightdroptarget'); + + // icon grid goes in rootFixed + this._rootFixed.put(this._container, 0, 0); + + this._overlay = new Gtk.Overlay(); + this._overlay.set_hexpand(true); + this._overlay.set_vexpand(true); + this._overlay.set_child(this._rootFixed); + + this._window.set_child(this._overlay); + + this.gridGlobalRectangle = new Gdk.Rectangle(); + this._selectedList = null; + this._setGridStatus(); + + this._updateGridRectangle(); + } + + ensureMapped() { + // show/present only here after the window is fully set up to + // and to avoit commiting content too early so that the shell + // errors on commiting first frame before acknowleding ack from wayland + // compositor. + this._window.set_visible(!this._hidden); + this._window.present(); + return this._mappedPromise; + } + + ensureAllocationComplete() { + if (this._allocPromise) + return this._allocPromise; + + const w = this._container; + + this._allocPromise = new Promise(resolve => { + let tickId = 0; + let stableFrames = 0; + + const cleanup = () => { + if (tickId) + w.remove_tick_callback(tickId); + this._allocPromise = null; + }; + + const isAllocated = () => { + const aw = w.get_allocated_width(); + const ah = w.get_allocated_height(); + return aw > 0 && ah > 0; + }; + + if (isAllocated()) { + this._overlay.queue_draw(); + resolve(); + cleanup(); + return; + } + + tickId = w.add_tick_callback(() => { + if (isAllocated()) + stableFrames++; + else + stableFrames = 0; + + if (stableFrames >= 2) { + cleanup(); + this._overlay.queue_draw(); + resolve(); + return GLib.SOURCE_REMOVE; + } + + return GLib.SOURCE_CONTINUE; + }); + }); + + return this._allocPromise; + } + + setErrorState() { + this._window.set_name('errorstate'); + } + + unsetErrorState() { + if (this._asDesktop) + this._window.set_name('desktopwindow'); + else + this._window.set_name('testwindow'); + } + + hide() { + this._window.hide(); + this._hidden = true; + } + + show() { + this._window.present(); + this._hidden = false; + } + + queue_draw() { + this._container.queue_draw(); + this._overlay.queue_draw(); + this._window.queue_draw(); + } + + // Establish and update window geometry, establish and update + // grid for the desktop icons + + updateGridDescription(desktopDescription) { + this._desktopDescription = desktopDescription; + } + + _updateWindowGeometry() { + this._zoom = this._desktopDescription.zoom; + this._x = this._desktopDescription.x; + this._y = this._desktopDescription.y; + this._monitor = this._desktopDescription.monitorIndex; + this._sizer = this._zoom; + + if (this._asDesktop) { + if (this._using_X11) + this._sizer = Math.ceil(this._zoom); + else if (this.Prefs.fractionalScaling) + this._sizer = 1; + } + + this._windowWidth = + Math.floor(this._desktopDescription.width / this._sizer); + this._windowHeight = + Math.floor(this._desktopDescription.height / this._sizer); + this.windowGlobalRectangle.x = this._x; + this.windowGlobalRectangle.y = this._y; + this.windowGlobalRectangle.width = this._windowWidth; + this.windowGlobalRectangle.height = this._windowHeight; + } + + resizeWindow() { + this._updateWindowGeometry(); + this._desktopName = `@!${this._x},${this._y};BDHF`; + this._window.set_title(this._desktopName); + this._window.set_default_size(this._windowWidth, this._windowHeight); + this._window.set_size_request(this._windowWidth, this._windowHeight); + this.scale = this._window.get_scale_factor(); + } + + _updateUnscaledHeightWidthMargins() { + this._marginLeftHiddenObject = false; + this._marginRightHiddenObject = false; + this._marginTopHiddenObject = false; + this._marginBottomHiddenObject = false; + + this._marginTop = this._desktopDescription.marginTop + this.gridPadding; + + if (this._marginTop > 1000) { + this._marginTopHiddenObject = true; + this._marginTop -= 1000; + } + + this._marginBottom = + this._desktopDescription.marginBottom + this.gridPadding; + + if (this._marginBottom > 1000) { + this._marginBottomHiddenObject = true; + this._marginBottom -= 1000; + } + + this._marginLeft = + this._desktopDescription.marginLeft + this.gridPadding; + + if (this._marginLeft > 1000) { + this._marginLeftHiddenObject = true; + this._marginLeft -= 1000; + } + + this._marginRight = + this._desktopDescription.marginRight + this.gridPadding; + + if (this._marginRight > 1000) { + this._marginRightHiddenObject = true; + this._marginRight -= 1000; + } + + this._width = + this._desktopDescription.width - + this._marginLeft - + this._marginRight; + + this._height = + this._desktopDescription.height - + this._marginTop - + this._marginBottom; + } + + _createGrids() { + this._width = Math.floor(this._width / this._sizer); + this._height = Math.floor(this._height / this._sizer); + this._marginTop = Math.floor(this._marginTop / this._sizer); + this._marginBottom = Math.floor(this._marginBottom / this._sizer); + this._marginLeft = Math.floor(this._marginLeft / this._sizer); + this._marginRight = Math.floor(this._marginRight / this._sizer); + + this._maxColumns = + Math.floor( + this._width / + (this.Prefs.DesiredWidth + 4 * this.elementSpacing) + ); + + this._maxRows = + Math.floor( + this._height / + (this.Prefs.DesiredHeight + 4 * this.elementSpacing) + ); + + this._elementWidth = Math.floor(this._width / this._maxColumns); + this._elementHeight = Math.floor(this._height / this._maxRows); + } + + _updateGridRectangle() { + this.gridGlobalRectangle.x = this._x + this._marginLeft; + this.gridGlobalRectangle.y = this._y + this._marginTop; + this.gridGlobalRectangle.width = this._width; + this.gridGlobalRectangle.height = this._height; + } + + _sizeContainer(widget) { + widget.margin_top = this._marginTop; + widget.margin_bottom = this._marginBottom; + const leftToRight = widget.get_direction() === Gtk.TextDirection.LTR; + if (leftToRight) { + widget.margin_start = this._marginLeft; + widget.margin_end = this._marginRight; + } else { + widget.margin_start = this._marginRight; + widget.margin_end = this._marginLeft; + } + } + + _setGridStatus() { + this._fileItems = new Map(); + this._gridStatus = new Map(); + for (let y = 0; y < this._maxRows; y++) { + for (let x = 0; x < this._maxColumns; x++) + this._gridStatus.set(y * this._maxColumns + x, new Set()); + } + } + + resizeGrid() { + this._updateUnscaledHeightWidthMargins(); + this._createGrids(); + // Ensure event targets cover the full window even when no icons/widgets + this._container.set_size_request(this._windowWidth, this._windowHeight); + this._rootFixed.set_size_request(this._windowWidth, this._windowHeight); + this._sizeContainer(this._container); + + this._updateGridRectangle(); + this._setGridStatus(); + } + + destroy() { + this._destroying = true; + this._window.destroy(); + } + + recomputeGridPosition(column, row) { + if (column > this._maxColumns) + return [this._x, this._y]; + + if (row > this._maxRows) + return [this._x, this._y]; + + const [localX, localY] = + this._getLocalCoordinatesForGrid(column, row); + + const [newGlobalX, newGlobalY] = + this.coordinatesLocalToGlobal(localX, localY); + + return [newGlobalX, newGlobalY]; + } + + // Compute correct position for pop up menus relative to + // margins to prevent going under/over margins + + getIntelligentPosition(gdkRectangle) { + if (!this._marginLeftHiddenObject && + !this._marginRightHiddenObject && + !this._marginTopHiddenObject && + !this._marginBottomHiddenObject) + return null; + + var clickLocation = 'center'; + + if (this._marginLeft > 0 && + (gdkRectangle.x < (this._marginLeft * 2)) + ) + clickLocation = 'left'; + + if (this._marginRight > 0 && + ( + gdkRectangle.x + gdkRectangle.width > + (this._windowWidth - this._marginRight * 2.5) + ) + ) + clickLocation = 'right'; + + if (this._marginBottom > 0 && + ( + gdkRectangle.y + gdkRectangle.height > + (this._windowHeight - this._marginBottom * 2) + ) + ) { + switch (clickLocation) { + case 'left': + clickLocation = 'bottomLeft'; + break; + case 'right': + clickLocation = 'bottomRight'; + break; + default: + clickLocation = 'bottom'; + } + } + + if (this._marginTop > 0 && + ( + gdkRectangle.y < (this._marginTop * 2) + ) + ) { + switch (clickLocation) { + case 'left': + clickLocation = 'topLeft'; + break; + case 'right': + clickLocation = 'topRight'; + break; + default: + clickLocation = 'top'; + } + } + + var returnvalue; + + switch (clickLocation) { + case 'left': + if (this._marginLeftHiddenObject) + returnvalue = Gtk.PositionType.RIGHT; + else + returnvalue = null; + + break; + + case 'right': + if (this._marginRightHiddenObject) + returnvalue = Gtk.PositionType.LEFT; + else + returnvalue = null; + + break; + + case 'top': + if (this._marginTopHiddenObject) + returnvalue = Gtk.PositionType.BOTTOM; + else + returnvalue = null; + + break; + + case 'bottom': + if (this._marginBottomHiddenObject) + returnvalue = Gtk.PositionType.TOP; + else + returnvalue = null; + + break; + + case 'center': + returnvalue = null; + break; + + case 'bottomRight': + if (this._marginBottomHiddenObject && + this._marginRightHiddenObject) { + returnvalue = Gtk.PositionType.LEFT; + break; + } + + if (this._marginBottomHiddenObject) { + returnvalue = Gtk.PositionType.TOP; + break; + } + + if (this._marginRightHiddenObject) { + returnvalue = Gtk.PositionType.LEFT; + break; + } + + break; + + case 'bottomLeft': + if (this._marginBottomHiddenObject && + this._marginLeftHiddenObject) { + returnvalue = Gtk.PositionType.RIGHT; + break; + } + + if (this._marginBottomHiddenObject) { + returnvalue = Gtk.PositionType.TOP; + break; + } + + if (this._marginLeftHiddenObject) { + returnvalue = Gtk.PositionType.RIGHT; + break; + } + + break; + + case 'topRight': + if (this._marginTopHiddenObject && this._marginRightHiddenObject) { + returnvalue = Gtk.PositionType.LEFT; + break; + } + + if (this._marginTopHiddenObject) { + returnvalue = Gtk.PositionType.BOTTOM; + break; + } + + if (this._marginRightHiddenObject) { + returnvalue = Gtk.PositionType.LEFT; + break; + } + + break; + + case 'topLeft': + if (this._marginTopHiddenObject && this._marginLeftHiddenObject) { + returnvalue = Gtk.PositionType.RIGHT; + break; + } + if (this._marginTopHiddenObject) { + returnvalue = Gtk.PositionType.BOTTOM; + break; + } + if (this._marginLeftHiddenObject) { + returnvalue = Gtk.PositionType.RIGHT; + break; + } + break; + + default: + returnvalue = null; + } + + return returnvalue; + } + + // Functions for computing postion/Geometry + + _getColumnRowFromLocal(x, y) { + // Returns the column, row of the grid that holds the local x, y + let placeX = Math.floor(x / this._elementWidth); + let placeY = Math.floor(y / this._elementHeight); + placeX = this.DesktopIconsUtil.clamp(placeX, 0, this._maxColumns - 1); + placeY = this.DesktopIconsUtil.clamp(placeY, 0, this._maxRows - 1); + + return [placeX, placeY]; + } + + _getGridLocalCoordinates(x, y) { + // Returns the local grid coordinates of top left rectangle + // vertex of the grid that has local x,y + const [column, row] = this._getColumnRowFromLocal(x, y); + + return this._getLocalCoordinatesForGrid(column, row); + } + + _getLocalCoordinatesForGrid(column, row) { + const localX = Math.floor(this._width * column / this._maxColumns); + const localY = Math.floor(this._height * row / this._maxRows); + + return [localX, localY]; + } + + getDistance(x) { + // Returns the distance to the middle point of this grid from X // + return Math.pow(x - (this._x + this._windowWidth * this._zoom / 2), 2) + + Math.pow(x - (this._y + this._windowHeight * this._zoom / 2), 2); + } + + _coordinatesGlobalToLocal(X, Y, widget = null) { + const [windowX, windowY] = this._coordinatesGlobalToWindow(X, Y); + const sourcePoint = new Graphene.Point({x: windowX, y: windowY}); + + if (!widget) + widget = this._container; + + const [found, targetPoint] = + this._window.compute_point(widget, sourcePoint); + + if (!found) + return [0, 0]; + + return [targetPoint.x, targetPoint.y]; + } + + _coordinatesGlobalToWindow(X, Y) { + X -= this._x; + Y -= this._y; + return [X, Y]; + } + + _coordinatesWidgetToWidget(x, y, widget1, widget2) { + const sourcePoint = new Graphene.Point({x, y}); + const [found, targetPoint] = + widget1.compute_point(widget2, sourcePoint); + + if (!found) + return [0, 0]; + + return [targetPoint.x, targetPoint.y]; + } + + coordinatesLocalToWindow(x, y, widget = null) { + if (!widget) + widget = this._container; + + const sourcePoint = new Graphene.Point({x, y}); + const [found, targetPoint] = + widget.compute_point(this._window, sourcePoint); + + if (!found) + return [0, 0]; + + return [targetPoint.x, targetPoint.y]; + } + + coordinatesLocalToGlobal(x, y, widget = null) { + const [X, Y] = this.coordinatesLocalToWindow(x, y, widget); + + return [X + this._x, Y + this._y]; + } + + coordinatesBelongToThisGrid(X, Y) { + const checkRectangle = + new Gdk.Rectangle( + { + x: X, + y: Y, + width: 1, + height: 1, + } + ); + + return this.gridGlobalRectangle.intersect(checkRectangle)[0]; + } + + coordinatesBelongToThisGridWindow(X, Y) { + const checkRectangle = + new Gdk.Rectangle( + { + x: X, + y: Y, + width: 1, + height: 1, + } + ); + + return this.windowGlobalRectangle.intersect(checkRectangle)[0]; + } + + getGlobaltoLocalRectangle(gdkRectangle) { + const [X, Y] = + this._coordinatesGlobalToLocal(gdkRectangle.x, gdkRectangle.y); + + return new Gdk.Rectangle( + { + x: X, + y: Y, + width: gdkRectangle.width, + height: gdkRectangle.height, + } + ); + } + + getCoordinatesOfGridContaining(X, Y, globalCoordinates = false) { + // returns the local or global coordinates if requested, + // of the local grid rectangle top left vertex that contains x, y + + if (this.coordinatesBelongToThisGrid(X, Y)) { + const [x, y] = this._coordinatesGlobalToLocal(X, Y); + + if (globalCoordinates) { + const a = + this._elementWidth * + Math.floor((x / this._elementWidth) + 0.5); + + const b = + this._elementHeight * + Math.floor((y / this._elementHeight) + 0.5); + + return this.coordinatesLocalToGlobal(a, b); + } else { + return this._getGridLocalCoordinates(x, y); + } + } else { + return null; + } + } + + // Functions to query and set grid use by Icons and files + + _fileAtColumnRow(column, row) { + // only works for grid placement of icons, + // with free placements there maybe multiple fileItems per grid + + const setOfFileItemsOnGridNumber = + this._gridStatus.get(row * this._maxColumns + column); + + if (!this.Prefs.freePositionIcons && setOfFileItemsOnGridNumber.size) { + for (const fileItem of setOfFileItemsOnGridNumber.keys()) + return fileItem; + } + + return null; + } + + _fileAt(x, y) { + if (!this.Prefs.freePositionIcons) { + const [column, row] = this._getColumnRowFromLocal(x, y); + + return this._fileAtColumnRow(column, row); + } + + const widgetAtPointer = + this._container.pick(x, y, Gtk.PickFlags.GTK_PICK_DEFAULT); + + if (widgetAtPointer === this._container) + return null; + + let fileItemFound = null; + for (const fileItem of this._fileItems.keys()) { + const [widgetX, widgetY] = + this._coordinatesWidgetToWidget( + x, y, + this._container, + fileItem.container + ); + + if (widgetX === 0 && widgetY === 0) + continue; + + const localWidget = + fileItem.container.pick( + widgetX, + widgetY, + Gtk.PickFlags.GTK_PICK_DEFAULT + ); + + if (localWidget === widgetAtPointer) { + fileItemFound = fileItem; + + break; + } + } + + return fileItemFound; + } + + isAvailable() { + // Returns true if there is an available slot in the grid + let isFree = false; + for (const [, setOfFileItemsOnGridNumber] of this._gridStatus.entries() + ) { + if (!setOfFileItemsOnGridNumber.size) { + isFree = true; + + break; + } + } + + return isFree; + } + + _setUseColumnRowOverlappingThis(fileItem, column, row, X, Y) { + this._setGridUse(column, row, fileItem); + const Xr = X + this._elementWidth - 2; + const Yr = Y + this._elementHeight - 2; + const [xr, yr] = this._coordinatesGlobalToLocal(Xr, Yr); + const [bottomRightColumn, bottomRightRow] = + this._getColumnRowFromLocal(xr, yr); + + if (bottomRightColumn !== column && + bottomRightRow !== row) { + this._setGridUse(bottomRightColumn, bottomRightRow, fileItem); + this._setGridUse(column, bottomRightRow, fileItem); + this._setGridUse(bottomRightColumn, row, fileItem); + + return; + } + + if (bottomRightColumn === column && bottomRightRow !== row) { + this._setGridUse(column, bottomRightRow, fileItem); + + return; + } + + if (bottomRightColumn !== column && bottomRightRow === row) + this._setGridUse(bottomRightColumn, row, fileItem); + } + + _isEmptyAt(column, row) { + // returns if grid at column row has a file or not + const setOfFileItemsOnGridNumber = + this._gridStatus.get(row * this._maxColumns + column); + + return setOfFileItemsOnGridNumber.size === 0; + } + + _gridInUse(x, y) { + // returns if the local grid containing local coordinates + // x, y has a file assigned. + const [placeX, placeY] = this._getColumnRowFromLocal(x, y); + + return !this._isEmptyAt(placeX, placeY); + } + + _setGridUse(column, row, fileItem) { + const setOfFileItemsOnGridNumber = + this._gridStatus.get(row * this._maxColumns + column); + setOfFileItemsOnGridNumber.add(fileItem); + } + + _getEmptyPlaceClosestTo(x, y, coordinatesAction, reverseHorizontal) { + // returns the column row of empty grid available at global X, Y + let cornerInversion = this.Prefs.StartCorner; + + if (reverseHorizontal) + cornerInversion[0] = !cornerInversion[0]; + + const [placeX, placeY] = this._getColumnRowFromLocal(x, y); + + if (this._isEmptyAt(placeX, placeY) && + coordinatesAction !== this.Enums.StoredCoordinates.ASSIGN) + return [placeX, placeY]; + + let found = false; + let resColumn = null; + let resRow = null; + let minDistance = Infinity; + let column, row; + + for (let tmpColumn = 0; tmpColumn < this._maxColumns; tmpColumn++) { + if (cornerInversion[0]) + column = this._maxColumns - tmpColumn - 1; + else + column = tmpColumn; + + for (let tmpRow = 0; tmpRow < this._maxRows; tmpRow++) { + if (cornerInversion[1]) + row = this._maxRows - tmpRow - 1; + else + row = tmpRow; + + if (!this._isEmptyAt(column, row)) + continue; + + let proposedX = column * this._elementWidth; + let proposedY = row * this._elementHeight; + if (coordinatesAction === this.Enums.StoredCoordinates.ASSIGN) + return [column, row]; + let distance = + this.DesktopIconsUtil.distanceBetweenPoints( + proposedX, + proposedY, + x, y + ); + + if (distance < minDistance) { + found = true; + minDistance = distance; + resColumn = column; + resRow = row; + } + } + } + + if (!found) + throw new Error('No available space on the monitor'); + + + return [resColumn, resRow]; + } + + // Finally the actual code that places and removes icons on the desktop + + _addFileItemToGrid(fileItem, column, row, coordinatesAction) { + if (this._destroying) + return; + + let [localX, localY] = this._getLocalCoordinatesForGrid(column, row); + + localX += this.elementSpacing; + localY += this.elementSpacing; + + this._container.put(fileItem.container, localX, localY); + this._setGridUse(column, row, fileItem); + + fileItem.column = column; + fileItem.row = row; + + this._fileItems.set(fileItem, [localX, localY]); + + const [X, Y] = this.coordinatesLocalToGlobal(localX, localY); + + fileItem.setCoordinates( + X, + Y, + this._elementWidth - 2 * this.elementSpacing, + this._elementHeight - 2 * this.elementSpacing, + this.elementSpacing, + this + ); + + /* If this file is new in the Desktop and hasn't yet + * fixed coordinates, store the new position to ensure + * that the next time it will be shown in the same position. + * Also store the new position if it has been moved by the user, + * and not triggered by a screen change. + */ + if ((fileItem.savedCoordinates === null) || + (coordinatesAction === this.Enums.StoredCoordinates.OVERWRITE)) { + const [normalizedX, normalizedY] = + this.getNormalizedCoordinates(localX, localY); + + const array = [X, Y, normalizedX, normalizedY, this._monitor]; + + fileItem.writeSavedCoordinates(array); + } + } + + removeItem(fileItem) { + if (this._fileItems.has(fileItem)) + this._fileItems.delete(fileItem); + + this._gridStatus.forEach( + setOfFileItemsOnGridNumber => + setOfFileItemsOnGridNumber.delete(fileItem) + ); + + this._container.remove(fileItem.container); + } + + _placeIntoPosition( + fileItem, + X, Y, + x, y, + emptycolumn, + emptyrow, + coordinatesAction + ) { + // For sanpping to grid + if (fileItem.savedCoordinates == null || + (fileItem.savedCoordinates[0] === 0 && + fileItem.savedCoordinates[1] === 0) || + !this.Prefs.freePositionIcons || + this.Prefs.keepArranged || + this.Prefs.keepStacked + ) { + this._addFileItemToGrid( + fileItem, + emptycolumn, + emptyrow, + coordinatesAction + ); + + return; + } + + if (this._destroying) + return; + + // For free placement + + // Make sure the icon lands inside the grid and does not protrude out + const [currentColumn, currentRow] = this._getColumnRowFromLocal(x, y); + let translocated = false; + + if (currentColumn === this._maxColumns - 1 && + x + this._elementWidth > this._width + ) { + x = this._width - this._elementWidth; + translocated = true; + } + + if (currentRow === this._maxRows - 1 && + y + this._elementHeight > this._height + ) { + y = this._height - this._elementHeight; + translocated = true; + } + + if (x < 0) { + x = 0; + translocated = true; + } + + if (y < 0) { + y = 0; + translocated = true; + } + + // recompute global coordinates from the translocatedd local coordinates + if (translocated) + [X, Y] = this.coordinatesLocalToGlobal(x, y); + + this._container.put(fileItem.container, x, y); + this._fileItems.set(fileItem, [x, y]); + fileItem.setCoordinates(X, + Y, + this._elementWidth - 2 * this.elementSpacing, + this._elementHeight - 2 * this.elementSpacing, + this.elementSpacing, + this); + + // set column row being used for all four vertices + this._setUseColumnRowOverlappingThis( + fileItem, + currentColumn, + currentRow, + X, Y + ); + + /* If this file is new in the Desktop and hasn't yet + * fixed coordinates, store the new position to ensure + * that the next time it will be shown in the same position. + * Also store the new position if it has been moved by the user, + * and not triggered by a screen change. + */ + if ((fileItem.savedCoordinates === null) || + (coordinatesAction === this.Enums.StoredCoordinates.OVERWRITE) + ) { + const [normalizedX, normalizedY] = + this.getNormalizedCoordinates(x, y); + + const array = [X, Y, normalizedX, normalizedY, this._monitor]; + + fileItem.writeSavedCoordinates(array); + fileItem.column = null; + fileItem.row = null; + } + } + + addFileItemCloseTo(fileItem, X, Y, coordinatesAction) { + const addVolumesOpposite = this.Prefs.AddVolumesOpposite; + const [x, y] = this._coordinatesGlobalToLocal(X, Y); + const [column, row] = this._getEmptyPlaceClosestTo( + x, + y, + coordinatesAction, + fileItem.isDrive && addVolumesOpposite + ); + this._placeIntoPosition( + fileItem, + X, Y, + x, y, + column, + row, + coordinatesAction + ); + } + + makeTopLayerOnGrid(fileItem) { + if (!this.Prefs.freePositionIcons) + return; + + const [x, y] = this._fileItems.get(fileItem); + + this._container.remove(fileItem.container); + this._container.put(fileItem.container, x, y); + } + + getNormalizedCoordinates(x, y) { + return [x / this.normalizedWidth, y / this.normalizedHeight]; + } + + setNormalizedCoordinates(x, y) { + const newGlobalX = x * this.normalizedWidth; + const newGlobalY = y * this.normalizedHeight; + + return [newGlobalX, newGlobalY]; + } + + get normalizedWidth() { + return this._width; + } + + get normalizedHeight() { + return this._height; + } + + get monitorIndex() { + return this._monitor; + } + + get index() { + return this._desktopIndex; + } + + get name() { + return this._desktopName; + } +}; + +const GridOverlay = GObject.registerClass( +class GridOverlay extends Gtk.Widget { + constructor(grid) { + super({can_target: false}); + this._grid = grid; + } + + vfunc_snapshot(snapshot) { + const w = this.get_allocated_width(); + const h = this.get_allocated_height(); + + if (w <= 0 || h <= 0) + return; + + this._grid._doDrawOnGrid(snapshot); + + // Ensure this widget contributes a node so the frame overwrites stale content. + const rect = new Graphene.Rect(); + rect.init(0, 0, 1, 1); + snapshot.append_color( + new Gdk.RGBA({red: 0, green: 0, blue: 0, alpha: 0.001}), + rect + ); + } +}); + +const DrawGrid = class extends DisplayGrid { + constructor(params) { + super(params); + + this._drawArea = new GridOverlay(this); + this._drawArea.set_size_request(this._windowWidth, this._windowHeight); + this._sizeContainer(this._drawArea); + this._overlay.add_overlay(this._drawArea); + this._drawArea.set_can_target(false); + this._drawArea.set_visible(true); + } + + resizeWindow() { + super.resizeWindow(); + this._drawArea.set_size_request(this._windowWidth, this._windowHeight); + } + + resizeGrid() { + super.resizeGrid(); + this._drawArea.set_size_request(this._windowWidth, this._windowHeight); + this._sizeContainer(this._drawArea); + } + + // Functions for drawing on the grid + + highLightGridAt(x, y) { + const globalCoordinates = false; + const selected = this.getCoordinatesOfGridContaining(x, y, globalCoordinates); + this._selectedList = [selected]; + this.updateOverlay(); + } + + unHighLightGrids() { + this._selectedList = null; + this.updateOverlay(); + } + + updateOverlay() { + this._drawArea.queue_draw(); + } + + _overlayHasContent() { + const hasRubberBand = + this._dragManager.rubberBand && + this._dragManager.selectionRectangle; + const hasDropRects = (this._selectedList?.length ?? 0) > 0; + return hasRubberBand || hasDropRects; + } + + _doDrawOnGrid(snapshot) { + this._doDrawRubberBand(snapshot); + this._doDrawDropRectangles(snapshot); + } + + _doDrawRubberBand(snapshot) { + if (!this._dragManager.rubberBand || + !this._dragManager.selectionRectangle || + !this.gridGlobalRectangle + .intersect(this._dragManager.selectionRectangle)[0] + ) + return; + + const [xInit, yInit] = + this._coordinatesGlobalToLocal( + this._dragManager.x1, + this._dragManager.y1 + ); + + const [xFin, yFin] = + this._coordinatesGlobalToLocal( + this._dragManager.x2, + this._dragManager.y2 + ); + + const width = xFin - xInit; + const height = yFin - yInit; + + const fillColor = new Gdk.RGBA({ + red: this.Prefs.selectColor.red, + green: this.Prefs.selectColor.green, + blue: this.Prefs.selectColor.blue, + alpha: 0.15, + }); + + const outlineColor = new Gdk.RGBA({ + red: this.Prefs.selectColor.red, + green: this.Prefs.selectColor.green, + blue: this.Prefs.selectColor.blue, + alpha: 1.0, + }); + + this._roundedRectangleDraw( + xInit, + yInit, + width, + height, + snapshot, + fillColor, + outlineColor + ); + } + + _doDrawDropRectangles(snapshot) { + if (!this.Prefs.showDropPlace || this._selectedList === null) + return; + + const fillColor = new Gdk.RGBA({ + red: 1.0 - this.Prefs.selectColor.red, + green: 1.0 - this.Prefs.selectColor.green, + blue: 1.0 - this.Prefs.selectColor.blue, + alpha: 0.4, + }); + + const outlineColor = new Gdk.RGBA({ + red: 1.0 - this.Prefs.selectColor.red, + green: 1.0 - this.Prefs.selectColor.green, + blue: 1.0 - this.Prefs.selectColor.blue, + alpha: 1.0, + }); + + for (const [x, y] of this._selectedList) { + this._rectangleDraw( + x, y, + this._elementWidth, + this._elementHeight, + snapshot, + fillColor, + outlineColor + ); + } + } + + _rectangleDraw(x, y, width, height, snapshot, fillColor, outlineColor) { + const rect = new Graphene.Rect(); + rect.init(x + 0.5, y + 0.5, width, height); + + snapshot.append_color(fillColor, rect); + + const rr = new Gsk.RoundedRect(); + const zero = new Graphene.Size(); + zero.init(0, 0); + rr.init(rect, zero, zero, zero, zero); + + snapshot.append_border( + rr, + [0.5, 0.5, 0.5, 0.5], + [outlineColor, outlineColor, outlineColor, outlineColor] + ); + } + + _roundedRectangleDraw(x, y, width, height, snapshot, fillColor, outlineColor) { + const cornerRadius = 5; + + const isSquare = width === height; + const tooLarge = cornerRadius * 2 > Math.min(width, height); + + const useSquareCorners = cornerRadius <= 0 || isSquare || tooLarge; + + const radius = + useSquareCorners + ? 0 + : Math.min(cornerRadius, width / 2, height / 2); + + const rect = new Graphene.Rect(); + rect.init(x, y, width, height); + + const size = new Graphene.Size(); + size.init(radius, radius); + + const rr = new Gsk.RoundedRect(); + rr.init(rect, size, size, size, size); + + if (radius > 0) { + snapshot.push_rounded_clip(rr); + snapshot.append_color(fillColor, rect); + snapshot.pop(); + } else { + snapshot.append_color(fillColor, rect); + } + + snapshot.append_border( + rr, + [1.0, 1.0, 1.0, 1.0], + [outlineColor, outlineColor, outlineColor, outlineColor] + ); + } +}; + + +const ControlGrid = class extends DrawGrid { + constructor(params) { + super(params); + this._addDragControllers(); + } + + _addDragControllers() { + // Bubble-phase controller: delivers key events to DesktopManager for actions + this._eventKey = Gtk.EventControllerKey.new(); + this._eventKey.set_propagation_phase(Gtk.PropagationPhase.BUBBLE); + this._window.add_controller(this._eventKey); + + // Capture-phase controller: only caches modifier state, does not invoke actions + this._eventKeyState = Gtk.EventControllerKey.new(); + this._eventKeyState.set_propagation_phase(Gtk.PropagationPhase.CAPTURE); + this._window.add_controller(this._eventKeyState); + + this._eventKey.connect( + 'key-pressed', + this._onKeyPress.bind(this) + ); + + this._eventKeyState.connect( + 'key-pressed', + this._onModifierUpdate.bind(this) + ); + + this._eventKeyState.connect( + 'key-released', + this._onModifierClear.bind(this) + ); + + this._eventMotion = Gtk.EventControllerMotion.new(); + this._eventMotion.set_propagation_phase(Gtk.PropagationPhase.BUBBLE); + this._container.add_controller(this._eventMotion); + + this._eventMotion.connect( + 'motion', + (actor, x, y) => { + if (!this._dragManager.rubberBand) + return false; + + const [X, Y] = this.coordinatesLocalToGlobal(x, y); + this._dragManager.onMotion(X, Y); + return false; + } + ); + + this._buttonClick = new Gtk.GestureClick({button: 0}); + this._buttonClick.set_propagation_phase(Gtk.PropagationPhase.BUBBLE); + this._container.add_controller(this._buttonClick); + this._buttonLongClick = new Gtk.GestureLongPress({button: 0}); + this._buttonLongClick.set_propagation_phase(Gtk.PropagationPhase.BUBBLE); + this._container.add_controller(this._buttonLongClick); + + this._buttonClick.set_exclusive(true); + this._buttonLongClick.set_exclusive(true); + this._buttonClick.group(this._buttonLongClick); + this._longHandled = false; + + this._buttonLongClick.connect('pressed', (actor, x, y) => { + this._longHandled = true; + this._doGestureLongPress(actor, x, y); + }); + + this._buttonLongClick.connect('cancelled', _actor => { + this._longHandled = false; + }); + + this._buttonClick.connect('pressed', (actor, nPress, x, y) => { + this._doGesturePress(actor, nPress, x, y); + }); + + this._buttonClick.connect('released', (actor, nPress, x, y) => { + if (this._longHandled) + this._longHandled = false; + + this._doGestureRelease(actor, nPress, x, y, this); + }); + + this._setDropDestination(this._container); + this._setDragSource(this._container); + } + + _onKeyPress(actor, keyval, keycode, state) { + this._desktopManager.onKeyPress( + keyval, + keycode, + state, + this + ); + } + + _onModifierUpdate(_actor, _keyval, _keycode, state) { + this._desktopManager.updateModifierState(state); + } + + _onModifierClear() { + this._desktopManager.clearModifierState(); + } + + _doGesturePress(actor, nPress, x, y) { + if (this._desktopManager.closePopUps()) + return; + + const button = actor.get_current_button(); + const state = this._buttonClick.get_current_event_state(); + const isCtrl = (state & Gdk.ModifierType.CONTROL_MASK) !== 0; + const isShift = (state & Gdk.ModifierType.SHIFT_MASK) !== 0; + const [X, Y] = this.coordinatesLocalToGlobal(x, y); + + const clickItem = this._fileAt(x, y); + + if (clickItem && this._clickItemClickable(clickItem, X, Y)) { + clickItem + ._onPressButton(actor, nPress, X, Y, x, y, isShift, isCtrl); + return; + } + + this._desktopManager + .onPressButton(X, Y, x, y, button, isShift, isCtrl, this); + } + + async _doGestureRelease(actor, nPress, x, y, grid) { + const button = actor.get_current_button(); + const state = this._buttonClick.get_current_event_state(); + const isCtrl = (state & Gdk.ModifierType.CONTROL_MASK) !== 0; + const isShift = (state & Gdk.ModifierType.SHIFT_MASK) !== 0; + const [X, Y] = this.coordinatesLocalToGlobal(x, y); + + const clickItem = this._fileAt(x, y); + const clickItemClickable = this._clickItemClickable(clickItem, X, Y); + + if (clickItemClickable && !this._dragManager.rubberBand) { + clickItem._onReleaseButton( + actor, nPress, X, Y, x, y, isShift, isCtrl); + return; + } + + this._dragManager.onReleaseButton(this); + + await this._desktopManager + .onReleaseButton(X, Y, x, y, button, isShift, isCtrl, grid) + .catch(logError); + } + + _doGestureLongPress(actor, x, y) { + const button = actor.get_current_button(); + const state = this._buttonClick.get_current_event_state(); + const isCtrl = (state & Gdk.ModifierType.CONTROL_MASK) !== 0; + const isShift = (state & Gdk.ModifierType.SHIFT_MASK) !== 0; + const [X, Y] = this.coordinatesLocalToGlobal(x, y); + + const clickItem = this._fileAt(x, y); + const clickItemClickable = this._clickItemClickable(clickItem, X, Y); + + if (clickItemClickable) { + clickItem + ._onLongPressButton(actor, X, Y, x, y, isShift, isCtrl); + return; + } + + this._desktopManager + .onLongPressButton(X, Y, x, y, button, isShift, isCtrl, this); + } + + _clickItemClickable(clickedItem, X, Y) { + if (!clickedItem) + return false; + + const clickRectangle = + new Gdk.Rectangle({x: X, y: Y, width: 1, height: 1}); + + return clickRectangle.intersect(clickedItem.iconRectangle)[0] || + clickRectangle.intersect(clickedItem.labelRectangle)[0]; + } + + _setDropDestination(widget) { + this.gridDropController = new Gtk.DropTargetAsync(); + this.gridDropController.set_actions( + Gdk.DragAction.MOVE | + Gdk.DragAction.COPY | + Gdk.DragAction.ASK + ); + const desktopAcceptFormats = + Gdk.ContentFormats.new(this.Enums.DndTargetInfo.MIME_TYPES); + const fileItemAcceptFormats = + Gdk.ContentFormats.new([ + this.Enums.DndTargetInfo.GNOME_ICON_LIST, + this.Enums.DndTargetInfo.URI_LIST, + ]); + const desktopMoveIconsFormat = + Gdk.ContentFormats.new([this.Enums.DndTargetInfo.DING_ICON_LIST]); + const textDropFormat = + Gdk.ContentFormats.new([this.Enums.DndTargetInfo.TEXT_PLAIN]); + const oldNautilusDropFormat = + Gdk.ContentFormats.new([this.Enums.DndTargetInfo.GNOME_ICON_LIST]); + this.gridDropController.set_formats(desktopAcceptFormats); + + let acceptFormat = null; + let dropData = null; + + this.gridDropController.connect( + 'accept', + (actor, drop) => { + if (drop.get_formats().match(desktopAcceptFormats)) + return true; + else + return false; + } + ); + + this.gridDropController.connect( + 'drag-enter', + (actor, drop) => { + this.localDrag = true; + drop.status( + Gdk.DragAction.COPY | + Gdk.DragAction.MOVE | + Gdk.DragAction.LINK, + Gdk.DragAction.MOVE + ); + + return Gdk.DragAction.MOVE; + } + ); + + this.gridDropController.connect( + 'drag-motion', + (actor, drop, x, y) => { + let desktopDropZone = false; + let fileItemDropZone = false; + const fileItem = this._fileAt(x, y); + const [X, Y] = this.coordinatesLocalToGlobal(x, y); + const dropRectangle = + new Gdk.Rectangle({x: X, y: Y, width: 1, height: 1}); + const desktopMove = + drop.get_formats().match(desktopMoveIconsFormat); + const filesMove = + drop.get_formats().match(fileItemAcceptFormats); + + if (fileItem) { + if (!this.Prefs.freePositionIcons) + fileItemDropZone = true; + + else if (dropRectangle + .intersect(fileItem.iconRectangle)[0] || + dropRectangle + .intersect(fileItem.labelRectangle)[0]) + fileItemDropZone = true; + + if (desktopMove && fileItem._hasToRouteDragToGrid()) + fileItemDropZone = false; + } + + desktopDropZone = !fileItemDropZone; + + this.receiveMotion(x, y, false); + + if (fileItemDropZone && !fileItem.dropCapable) + return false; + + if (fileItemDropZone && fileItem.dropCapable) { + if (!filesMove) + return false; + + if (fileItem._fileExtra !== + this.Enums.FileType.EXTERNAL_DRIVE) + return Gdk.DragAction.MOVE; + + if (fileItem._fileExtra === + this.Enums.FileType.EXTERNAL_DRIVE) + return Gdk.DragAction.COPY; + } + + if (desktopDropZone) { + if (desktopMove) { + if (this.Prefs.keepArranged || + this.Prefs.keepStacked) { + if (this.Prefs.sortSpecialFolders) + return false; + else if (this._desktopManager + .getCurrentSelection() + ?.filter(f => !f.isSpecial).length >= 1) + return false; + } + } + + return Gdk.DragAction.MOVE; + } + + return false; + }); + + this.gridDropController.connect('drag-leave', () => { + this.localDrag = false; + this._receiveLeave(); + }); + + this.gridDropController.connect('drop', (actor, drop, x, y) => { + const event = { + 'parentWindow': this._window, + 'timestamp': Gdk.CURRENT_TIME, + }; + + let desktopDropZone = false; + let fileItemDropZone = false; + const fileItem = this._fileAt(x, y); + const [X, Y] = this.coordinatesLocalToGlobal(x, y); + const dropRectangle = + new Gdk.Rectangle({x: X, y: Y, width: 1, height: 1}); + const desktopMove = + drop.get_formats().match(desktopMoveIconsFormat); + const filesMove = + drop.get_formats().match(fileItemAcceptFormats); + const oldNautilusMove = + drop.get_formats().match(oldNautilusDropFormat); + let readFormat = Gdk.FileList.$gtype; + + if (fileItem) { + if (!this.Prefs.freePositionIcons) + fileItemDropZone = true; + else if (dropRectangle.intersect(fileItem.iconRectangle)[0] || + dropRectangle.intersect(fileItem.labelRectangle)[0]) + fileItemDropZone = true; + if (desktopMove && fileItem._hasToRouteDragToGrid()) + fileItemDropZone = false; + } + + desktopDropZone = !fileItemDropZone; + + const textDrop = + drop.get_formats().match(textDropFormat) && + !desktopMove && + !filesMove; + + if (textDrop) { + acceptFormat = this.Enums.DndTargetInfo.TEXT_PLAIN; + readFormat = String.$gtype; + } + + if (desktopMove) + acceptFormat = this.Enums.DndTargetInfo.DING_ICON_LIST; + + if (filesMove && !desktopMove) { + if (oldNautilusMove) { + acceptFormat = this.Enums.DndTargetInfo.GNOME_ICON_LIST; + readFormat = String.$gtype; + } else { + acceptFormat = this.Enums.DndTargetInfo.URI_LIST; + readFormat = String.$gtype; + } + } + + let gdkDropAction = drop.get_actions(); + + if (!Gdk.DragAction.is_unique(gdkDropAction)) { + if (this._using_X11 && + (gdkDropAction >= + (Gdk.DragAction.COPY | Gdk.DragAction.MOVE))) + gdkDropAction = Gdk.DragAction.MOVE; + + else if (gdkDropAction > + (Gdk.DragAction.COPY | Gdk.DragAction.MOVE)) + gdkDropAction = Gdk.DragAction.ASK; + } + + let gdkReturnAction = Gdk.DragAction.COPY; + + if (desktopMove && + desktopDropZone && + (gdkDropAction === Gdk.DragAction.MOVE) + ) { + let [xOrigin, yOrigin] = + this._dragManager.dragItem.getCoordinates() + .slice(0, 3); + + this._dragManager.doMoveWithDragAndDrop(xOrigin, yOrigin, X, Y); + + this._receiveLeave(); + drop.finish(gdkDropAction); + + return true; + } + + try { + drop.read_value_async( + readFormat, + GLib.PRIORITY_DEFAULT, + null, + async (dropactor, result) => { + dropData = dropactor.read_value_finish(result); + + if (!dropData || !acceptFormat) { + drop.finish(0); + this._receiveLeave(); + return false; + } + + if (dropData && textDrop) { + gdkReturnAction = Gdk.DragAction.COPY; + this._dragManager.onTextDrop(dropData, [X, Y]); + drop.finish(gdkReturnAction); + this._receiveLeave(); + return true; + } + + gdkReturnAction = + await this._completeDrop( + X, Y, + x, y, + drop, + dropData, + gdkDropAction, + fileItem, + acceptFormat, + fileItemDropZone, + desktopDropZone, + desktopMove, + filesMove, + textDrop, + event + ).catch(e => console.error(e)); + + if (gdkReturnAction) { + drop.finish(gdkReturnAction); + this._receiveLeave(); + return true; + } else { + drop.finish(0); + this._receiveLeave(); + return false; + } + } + ); + } catch (e) { + console.error(e); + drop.finish(0); + this._receiveLeave(); + } + return false; + }); + + widget.add_controller(this.gridDropController); + + this.gridDropControllerMotion = new Gtk.DropControllerMotion(); + + this.gridDropControllerMotion.connect( + 'motion', + (actor, x, y) => { + if (!this.gridDropControllerMotion.is_pointer) { + const fileItem = this._fileAt(x, y); + const [X, Y] = this.coordinatesLocalToGlobal(x, y); + const pointerRectangle = + new Gdk.Rectangle({x: X, y: Y, width: 1, height: 1}); + + if (fileItem && fileItem.dropCapable) { + this._dragManager.unHighLightDropTarget(); + + if (!this.Prefs.freePositionIcons) + fileItem.highLightDropTarget(); + + else if ( + pointerRectangle + .intersect(fileItem.iconRectangle)[0] || + pointerRectangle + .intersect(fileItem.labelRectangle)[0]) + fileItem.highLightDropTarget(); + } + + if (fileItem && (fileItem.isDirectory || fileItem.isDrive)) + this._startSpringLoadedTimer(fileItem); + } else { + this._dragManager.unHighLightDropTarget(); + this._stopSpringLoadedTimer(); + } + }); + + widget.add_controller(this.gridDropControllerMotion); + } + + async _completeDrop( + X, Y, + x, y, + drop, + dropData, + gdkDropAction, + fileItem, + acceptFormat, + fileItemDropZone, + desktopDropZone, + desktopMove, + filesMove, + textDrop, + event + ) { + let returnAction = Gdk.DragAction.COPY; + const localDrop = !!drop.get_drag(); + + if (fileItemDropZone && (desktopMove || filesMove)) { + returnAction = + await fileItem.receiveDrop( + X, Y, + x, y, + dropData, + acceptFormat, + gdkDropAction, + localDrop, + event, + this._dragManager.dragItem + ).catch(e => console.error(e)); + + return returnAction; + } + + if (desktopDropZone && (desktopMove || filesMove)) { + returnAction = await this._receiveDrop( + x, y, + dropData, + acceptFormat, + gdkDropAction, + localDrop, + event, + this._dragManager.dragItem + ).catch(e => console.error(e)); + + return returnAction; + } + + // Finally if all above does not work, catchall- + return false; + } + + + _setDragSource(widget) { + const widgetDragController = Gtk.DragSource.new(); + let clickItem; + + widgetDragController.set_actions( + Gdk.DragAction.MOVE | Gdk.DragAction.COPY | Gdk.DragAction.ASK); + + widgetDragController.connect( + 'prepare', + // eslint-disable-next-line consistent-return + (actor, x, y) => { + const draggedItem = this._fileAt(x, y); + + if (draggedItem && !this._dragManager.rubberBand) { + clickItem = draggedItem; + const [a, b] = + this._coordinatesWidgetToWidget( + x, y, + this._container, + clickItem._icon + ) + .map(f => Math.floor(Math.max(f))); + + this._dragManager.localDragOffset = [a, b]; + + const dragIcon = this._createStackedDragIcon(clickItem); + + widgetDragController.set_icon(dragIcon, a, b); + clickItem.dragSourceOffset = [a, b]; + + this._loadDragData(); + + if (this.contentProvider) + return this.contentProvider; + } + } + ); + + widgetDragController.connect('drag-begin', () => { + this._dragManager.onReleaseButton(this); + this._dragManager.onDragBegin(clickItem); + }); + + widgetDragController.connect( + 'drag-cancel', + async (actor, drag, reason) => { + if (reason === Gdk.DragCancelReason.NO_TARGET || + reason === Gdk.DragCancelReason.ERROR) { + const gnomedropDetected = + await this._dragManager.gnomeShellDrag + ?.completeGnomeShellDrop() + .catch(e => console.error(e)); + + if (gnomedropDetected) + return true; + else + return false; + } else { + return false; + } + } + ); + + widgetDragController.connect('drag-end', () => { + this._dragManager.onDragEnd(); + this._dragManager.selected(clickItem, this.Enums.Selection.RELEASE); + }); + + widget.add_controller(widgetDragController); + } + + _loadDragData() { + this.contentProvider = null; + const textCoder = new TextEncoder(); + + const uriList = + this._dragManager.fillDragDataGet( + this.Enums.DndTargetInfo.DING_ICON_LIST); + + if (!uriList) + return; + + const encodedUriList = textCoder.encode(uriList); + + const dingContentProvider = + Gdk.ContentProvider.new_for_bytes( + this.Enums.DndTargetInfo.DING_ICON_LIST, + encodedUriList + ); + + if (this._desktopManager.checkIfSpecialFilesAreSelected()) { + this.contentProvider = dingContentProvider; + return; + } + + const gnomeUriList = + this._dragManager.fillDragDataGet( + this.Enums.DndTargetInfo.GNOME_ICON_LIST); + + if (!gnomeUriList) + return; + + const gnomeContentProvider = + Gdk.ContentProvider.new_for_bytes( + this.Enums.DndTargetInfo.GNOME_ICON_LIST, + textCoder.encode(gnomeUriList) + ); + + const textPathList = + this._dragManager.fillDragDataGet( + this.Enums.DndTargetInfo.TEXT_PLAIN + ); + + if (!textPathList) + return; + + const encodedPathList = textCoder.encode(textPathList); + + const textUriListContentProvider = + Gdk.ContentProvider.new_for_bytes( + this.Enums.DndTargetInfo.URI_LIST, + encodedUriList + ); + + const textListContentProvider = + Gdk.ContentProvider.new_for_bytes( + this.Enums.DndTargetInfo.TEXT_PLAIN, + encodedPathList + ); + + const textUtf8ListContentProvider = + Gdk.ContentProvider.new_for_bytes( + this.Enums.DndTargetInfo.TEXT_PLAIN_UTF8, + encodedPathList + ); + + this.contentProvider = Gdk.ContentProvider.new_union([ + dingContentProvider, + gnomeContentProvider, + textUriListContentProvider, + textListContentProvider, + textUtf8ListContentProvider, + ]); + } + + // The following code is translated from Nautilus C to Javascript + // to form the similar stack of items + + _createStackedDragIcon(draggedItem) { + const selectionArray = this._desktopManager.getCurrentSelection(); + selectionArray.sort( + // eslint-disable-next-line no-nested-ternary + (a, b) => a.uri === draggedItem.uri + ? -1 + : b.uri === draggedItem.uri + ? 1 + : 0 + ); + + const dragIconArray = selectionArray.map(f => f._icon.get_paintable()); + const numberOfIcons = dragIconArray.length; + + const dragIcon = Gtk.Snapshot.new(); + + /* A wide shadow for the pile of icons gives a sense of floating. */ + const stackShadow = + { + color: {red: 0, green: 0, blue: 0, alpha: 0.15}, + dx: 0, + dy: 2, + radius: 10, + }; + + /* A slight shadow swhich makes each icon in the stack look separate. */ + const iconShadow = + { + color: {red: 0, green: 0, blue: 0, alpha: 0.30}, + dx: 0, + dy: 1, + radius: 1, + }; + + let xOffset = numberOfIcons % 2 === 1 ? 6 : -6; + let yOffset; + + switch (numberOfIcons) { + case 1: + yOffset = 0; + break; + case 2: + yOffset = 10; + break; + case 3: + yOffset = 6; + break; + default: + yOffset = 4; + } + + dragIcon.translate( + new Graphene.Point( + { + x: 10 + (xOffset / 2), + y: yOffset * numberOfIcons, + } + ) + ); + + const shadow = new Gsk.Shadow(stackShadow); + dragIcon.push_shadow([shadow]); + + dragIconArray.reverse().forEach( + paintableWidget => { + const w = paintableWidget.get_intrinsic_width(); + const h = paintableWidget.get_intrinsic_height(); + const X = Math.floor((this.Prefs.IconSize - w) / 2); + const Y = Math.floor((this.Prefs.IconSize - h) / 2); + + dragIcon.translate( + new Graphene.Point( + { + x: -xOffset, + y: -yOffset, + } + ) + ); + + xOffset = -xOffset; + + dragIcon.translate(new Graphene.Point({x: X, y: Y})); + dragIcon.push_shadow([new Gsk.Shadow(iconShadow)]); + + paintableWidget.snapshot(dragIcon, w, h); + + dragIcon.pop(); + + dragIcon.translate(new Graphene.Point({x: -X, y: -Y})); + } + ); + dragIcon.pop(); + + return dragIcon.to_paintable(null); + } + + _receiveLeave() { + this._stopSpringLoadedTimer(); + this._window.queue_draw(); + this._dragManager.onDragLeave(); + } + + receiveLeave() { + this._receiveLeave(); + } + + receiveMotion(x, y, global) { + let X; + let Y; + if (!global) { + x = this._elementWidth * Math.floor(x / this._elementWidth); + y = this._elementHeight * Math.floor(y / this._elementHeight); + [X, Y] = this.coordinatesLocalToGlobal(x, y); + } + this._dragManager.onDragMotion(X, Y); + } + + async _receiveDrop( + x, y, + selection, + info, + gdkDropAction, + localDrop, + event, + dragItem + ) { + x = this._elementWidth * Math.floor(x / this._elementWidth); + y = this._elementHeight * Math.floor(y / this._elementHeight); + const [X, Y] = this.coordinatesLocalToGlobal(x, y); + const returnAction = + await this._dragManager + .onDragDataReceived( + X, Y, + x, y, + selection, + info, + gdkDropAction, + localDrop, + event, + dragItem + ) + .catch(e => console.error(e)); + return returnAction; + } + + refreshDrag(selectedList, ox, oy) { + if (!this.Prefs.showDropPlace) + return; + + if (selectedList === null) { + this._selectedList = null; + this.updateOverlay(); + + return; + } + + let newSelectedList = []; + + for (let [x, y] of selectedList) { + x += this._elementWidth / 2; + y += this._elementHeight / 2; + x += ox; + y += oy; + + const r = this.getCoordinatesOfGridContaining(x, y); + + if (r && + !isNaN(r[0]) && + !isNaN(r[1]) && + (!this._gridInUse(r[0], r[1]) || + this._fileAt(r[0], r[1])?.isSelected) + ) + newSelectedList.push(r); + } + + if (newSelectedList.length === 0) { + if (this._selectedList !== null) { + this._selectedList = null; + this.updateOverlay(); + } + + return; + } + + if (this._selectedList !== null) { + if ((newSelectedList[0][0] === this._selectedList[0][0]) && + (newSelectedList[0][1] === this._selectedList[0][1]) + ) + return; + } + + this._selectedList = newSelectedList; + this.updateOverlay(); + } + + _startSpringLoadedTimer(fileItem) { + if (!this.Prefs.openFolderOnDndHover || this.directoryOpenTimer) + return; + + if (this._dragManager.dragItem?.uri === fileItem.uri) + return; + + this.directoryOpenTimer = + GLib.timeout_add( + GLib.PRIORITY_DEFAULT, + this.Enums.DND_HOVER_TIMEOUT, + () => { + const context = + Gdk.Display.get_default() + .get_app_launch_context(); + + context.set_timestamp(Gdk.CURRENT_TIME); + + try { + Gio.AppInfo.launch_default_for_uri( + fileItem.uri, + context + ); + } catch (e) { + console.error(e, `Error opening ${fileItem.uri}` + + ` in GNOME Files: ${e.message}`); + } + + this.directoryOpenTimer = 0; + return GLib.SOURCE_REMOVE; + } + ); + } + + _stopSpringLoadedTimer() { + if (this.directoryOpenTimer) + GLib.Source.remove(this.directoryOpenTimer); + + this.directoryOpenTimer = 0; + } +}; + +/* A Picture that can translate itself at paint time (render-only) */ +const OffsetPicture = GObject.registerClass({ + Properties: { + 'tx': GObject.ParamSpec.double('tx', 'tx', 'translate x', + GObject.ParamFlags.READWRITE | GObject.ParamFlags.EXPLICIT_NOTIFY, + -1e6, 1e6, 0.0), + 'ty': GObject.ParamSpec.double('ty', 'ty', 'translate y', + GObject.ParamFlags.READWRITE | GObject.ParamFlags.EXPLICIT_NOTIFY, + -1e6, 1e6, 0.0), + 'scale': GObject.ParamSpec.double('scale', '', '', + GObject.ParamFlags.READWRITE, 0.5, 2.0, 1.0), + 'pivot-x': GObject.ParamSpec.double('pivot-x', '', '', + GObject.ParamFlags.READWRITE, -1e6, 1e6, 0), + 'pivot-y': GObject.ParamSpec.double('pivot-y', '', '', + GObject.ParamFlags.READWRITE, -1e6, 1e6, 0), + }, +}, class OffsetPicture extends Gtk.Picture { + constructor(props = {}) { + super( + Object.assign({ + hexpand: false, + vexpand: false, + halign: Gtk.Align.START, + valign: Gtk.Align.START, + can_target: false, + }, + props) + ); + this._tx = 0.0; + this._ty = 0.0; + this._scale = 1.0; + this._pivot_x = 0.0; + this._pivot_y = 0.0; + } + + get tx() { + return this._tx; + } + + set tx(v) { + v = Number(v); + if (v !== this._tx) { + this._tx = v; + this.notify('tx'); + this.queue_draw(); + } + } + + get ty() { + return this._ty; + } + + set ty(v) { + v = Number(v); + if (v !== this._ty) { + this._ty = v; + this.notify('ty'); + this.queue_draw(); + } + } + + get scale() { + return this._scale; + } + + set scale(v) { + v = Number(v); + if (v !== this._scale) { + this._scale = v; + this.notify('scale'); + this.queue_draw(); + } + } + + get pivot_x() { + return this._pivot_x; + } + + set pivot_x(v) { + v = Number(v); + if (v !== this._pivot_x) { + this._pivot_x = v; + this.notify('pivot-x'); + this.queue_draw(); + } + } + + get pivot_y() { + return this._pivot_y; + } + + set pivot_y(v) { + v = Number(v); + if (v !== this._pivot_y) { + this._pivot_y = v; + this.notify('pivot-y'); + this.queue_draw(); + } + } + + // eslint-disable-next-line no-unused-vars + vfunc_snapshot(snapshot) { + const a = this.get_allocation(); + if (a.width <= 0 || a.height <= 0) + return; + + snapshot.save(); + try { + const rect = new Graphene.Rect(); + rect.init(0, 0, a.width, a.height); + snapshot.push_clip(rect); + try { + snapshot.translate( + new Graphene.Point({x: this._tx, y: this._ty})); + snapshot.translate( + new Graphene.Point({x: this.pivot_x, y: this.pivot_y})); + snapshot.scale(this.scale, this.scale); + snapshot.translate( + new Graphene.Point({x: -this.pivot_x, y: -this.pivot_y})); + + super.vfunc_snapshot(snapshot); + } finally { + snapshot.pop(); + } + } finally { + snapshot.restore(); + } + } +}); + +// Adds an auxiliary fixed layer that can sit above/below the icon grid. +const WidgetGrid = class extends ControlGrid { + constructor(params) { + super(params); + this._selectedWidget = null; // instanceId + this._draggedWidget = null; // instanceId + this.widgetGridEnabled = false; + this._gridSize = this.Enums.WIDGET_GRID_SIZE; + + this._widgetContainer = new Gtk.Fixed(); + this._rootFixed.put(this._widgetContainer, 0, 0); + this.resizeGrid(); + this._widgetContainer.set_name('widget-container'); + this._widgetContainerOnTop = true; + this.lowerWidgetContainer(); + + this._longPressActive = false; + + const drag = new Gtk.GestureDrag(); + drag.set_propagation_phase(Gtk.PropagationPhase.CAPTURE); + this._widgetContainer.add_controller(drag); + + // Click gesture: used only to track selection + click radius + const click = new Gtk.GestureClick({button: 0}); + click.set_propagation_phase(Gtk.PropagationPhase.CAPTURE); + this._widgetContainer.add_controller(click); + + const contextClick = new Gtk.GestureClick({button: 3}); + contextClick.set_propagation_phase(Gtk.PropagationPhase.CAPTURE); + this._widgetContainer.add_controller(contextClick); + + const longPress = new Gtk.GestureLongPress(); + longPress.set_propagation_phase(Gtk.PropagationPhase.CAPTURE); + this._widgetContainer.add_controller(longPress); + + longPress.group(drag); + + const settings = Gtk.Settings.get_default(); + if (settings) { + const longPressTime = settings.gtk_long_press_time; // ms + const doubleClickTime = settings.gtk_double_click_time; // ms + + if (longPressTime && doubleClickTime) { + let factor = doubleClickTime / longPressTime; + longPress.set_delay_factor(factor); + } + } + + drag.connect('drag-begin', this._onWidgetDragBegin.bind(this)); + drag.connect('drag-update', this._onWidgetDragUpdate.bind(this)); + drag.connect('drag-end', this._onWidgetDragEnd.bind(this)); + + click.connect('pressed', this._onClick.bind(this)); + click.connect('released', this._onClickRelease.bind(this)); + contextClick.connect('pressed', this._onWidgetContextMenu.bind(this)); + + longPress.connect('pressed', this._onWidgetLongPress.bind(this)); + + longPress + .connect('cancelled', this._onWidgetLongPressCancelled.bind(this)); + } + + get widgetContainer() { + return this._widgetContainer; + } + + isWidgetContainerOnTop() { + return this._widgetContainerOnTop; + } + + raiseWidgetContainer() { + this._setWidgetContainerLayer(true); + } + + lowerWidgetContainer() { + this._setWidgetContainerLayer(false); + } + + setWidgetContainerOnTop(onTop = true) { + this._setWidgetContainerLayer(onTop); + } + + toggleWidgetLayer() { + this.setWidgetContainerOnTop(!this._widgetContainerOnTop); + } + + resizeWindow() { + super.resizeWindow(); + this._widgetContainer.set_size_request( + this._width, + this._height + ); + this._sizeContainer(this._widgetContainer); + } + + resizeGrid() { + super.resizeGrid(); + this._widgetContainer.set_size_request( + this._width, + this._height + ); + this._sizeContainer(this._widgetContainer); + } + + _setWidgetContainerLayer(onTop) { + if (onTop === this._widgetContainerOnTop) + return; + + this._widgetContainerOnTop = onTop; + + if (onTop) { + // Widgets above icons (edit mode) + // Draw order: icons (bottom), widgets (top) + + // Reorder without unparenting: + // place widgetContainer after container in _rootFixed + this._widgetContainer.insert_after(this._rootFixed, this._container); + + this._widgetContainer.add_css_class('widgets-on-top'); + + // Input: widget layer active, icons inert + this._container.set_can_target(false); + this._widgetContainer.set_can_target(true); + this._desktopManager.unselectAll(); + this._mainapp.activate_action('textEntryOff', null); + this._mainapp.set_accels_for_action( + 'app.lowerWidgetLayer', + ['Escape'] + ); + } else { + // Icons above widgets (normal mode) + // Draw order: widgets (bottom), icons (top) + + // Reorder the other way: container after widgetContainer + this._container.insert_after(this._rootFixed, this._widgetContainer); + + this._widgetContainer.remove_css_class('widgets-on-top'); + + // Input: icons active, widget layer background only + this._container.set_can_target(true); + this._widgetContainer.set_can_target(false); + + this._desktopManager.widgetManager?.clearSelectedInstance(); + this._mainapp.set_accels_for_action('app.lowerWidgetLayer', []); + this._mainapp.activate_action('textEntryOn', null); + } + + this._desktopManager.widgetManager + ?.handleWidgetContainerLayerChange(this.monitorIndex, this._widgetContainerOnTop); + } + + _onWidgetContextMenu(gesture, _nPress, x, y) { + if (!this._widgetContainerOnTop) + return; + + if (this._findWidgetAt(x, y)) + return; + + gesture.set_state(Gtk.EventSequenceState.CLAIMED); + + const menu = new Gio.Menu(); + menu.append(_('Back to Desktop'), 'app.lowerWidgetLayer'); + menu.append(_('Toggle Widget Grid'), 'app.toggleWidgetGrid'); + menu.append(_('Add Widget...'), 'app.addWidget'); + + const popover = Gtk.PopoverMenu.new_from_model(menu); + popover.set_parent(this._widgetContainer); + popover.set_pointing_to(new Gdk.Rectangle({x, y, width: 1, height: 1})); + popover.set_has_arrow(false); + popover.popup(); + popover.connect('closed', () => { + GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, () => { + popover.unparent(); + return GLib.SOURCE_REMOVE; + }); + }); + } + + _onKeyPress(actor, keyval, keycode, state) { + if (this._widgetContainerOnTop) + return true; + + return super._onKeyPress(actor, keyval, keycode, state); + } + + _onWidgetLongPress(gesture, x, y) { + this._longPressActive = true; + this._onWidgetDragBegin(gesture, x, y); + } + + _onWidgetLongPressCancelled(_gesture) { + this._longPressActive = false; + } + + _onWidgetDragBegin(gesture, startX, startY) { + this._dragStartX = startX; + this._dragStartY = startY; + + this._draggedWidget = this._findWidgetAt(startX, startY); + + this._dragPointerOffsetX = 0; + this._dragPointerOffsetY = 0; + + if (!this._draggedWidget || + this._isWidgetChromeActor(this._draggedWidget)) { + this._longPressActive = false; + gesture.set_state(Gtk.EventSequenceState.DENIED); + return; + } + + // Require a long-press before we actually claim the drag. + // This lets normal short clicks go through to the WebView / Gtk.Button. + if (!this._longPressActive) { + // Don’t drag, let the sequence fall through to children. + this._draggedWidget = null; + return; + } + + gesture.set_state(Gtk.EventSequenceState.CLAIMED); + + const instanceId = this._draggedWidget.widgetInstanceId; + const frame = + this._desktopManager.widgetManager.getInstanceFrame(instanceId); + + if (frame) { + this._dragPointerOffsetX = startX - frame.x; + this._dragPointerOffsetY = startY - frame.y; + } + + if (this._selectedWidget === instanceId) + this._desktopManager.widgetManager.hideSelectionChromeDuringDrag(); + + this._setWidgetDraggingState(true); + } + + _findWidgetAt(lx, ly) { + const picked = + this._widgetContainer.pick(lx, ly, Gtk.PickFlags.DEFAULT); + + return this._widgetFromPickedActor(picked); + } + + _widgetFromPickedActor(picked) { + if (!picked) + return null; + + // We only want to return a direct child in widgetContainer, + let w = picked; + while (w && w !== this._widgetContainer) { + if (w.get_parent() === this._widgetContainer) + return w; + + w = w.get_parent(); + } + + return null; + } + + _onWidgetDragUpdate(gesture, offsetX, offsetY) { + if (!this._draggedWidget) + return; + + const lx = this._dragStartX + offsetX; + const ly = this._dragStartY + offsetY; + + const instanceId = this._draggedWidget.widgetInstanceId; + const [offX, offY] = this._getWidgetOffsets(instanceId); + let newLocalX = lx - offX; + let newLocalY = ly - offY; + + if (this.widgetGridEnabled) + [newLocalX, newLocalY] = + this._getWidgetSnappedPosition(newLocalX, newLocalY); + + this._widgetContainer.move(this._draggedWidget, newLocalX, newLocalY); + } + + _getWidgetSnappedPosition(lx, ly) { + let newLocalX = Math.round(lx / this._gridSize) * this._gridSize; + let newLocalY = Math.round(ly / this._gridSize) * this._gridSize; + newLocalX = Math.max(0, Math.min(newLocalX, this._width - this._gridSize)); + newLocalY = Math.max(0, Math.min(newLocalY, this._height - this._gridSize)); + return [newLocalX, newLocalY]; + } + + _onWidgetDragEnd(gesture, offsetX, offsetY) { + if (!this._draggedWidget) + return; + + const lx = this._dragStartX + offsetX; + const ly = this._dragStartY + offsetY; + + const instanceId = this._draggedWidget.widgetInstanceId; + const [offX, offY] = this._getWidgetOffsets(instanceId); + let newLocalX = lx - offX; + let newLocalY = ly - offY; + + if (this.widgetGridEnabled) + [newLocalX, newLocalY] = + this._getWidgetSnappedPosition(newLocalX, newLocalY); + + this._desktopManager.widgetManager.setInstanceFrame( + instanceId, + newLocalX, + newLocalY + ); + + if (this._selectedWidget === instanceId) { + this._desktopManager.widgetManager + .updateSelectionChromePositionFor(instanceId); + } + + this._setWidgetDraggingState(false); + this._draggedWidget = null; + this._dragPointerOffsetX = null; + this._dragPointerOffsetY = null; + this._longPressActive = false; + } + + _setWidgetDraggingState(isDragging) { + if (!this._draggedWidget) + return; + + const ctx = this._draggedWidget.get_style_context(); + if (isDragging) + ctx.add_class('dragging'); + else + ctx.remove_class('dragging'); + } + + _getWidgetOffsets(instanceId) { + const inst = this._desktopManager.widgetManager.getInstance(instanceId); + const fallbackOffsetX = inst ? inst.width / 2 : 0; + const fallbackOffsetY = inst ? inst.height / 2 : 0; + + const offsetX = + typeof this._dragPointerOffsetX === 'number' + ? this._dragPointerOffsetX + : fallbackOffsetX; + const offsetY = + typeof this._dragPointerOffsetY === 'number' + ? this._dragPointerOffsetY + : fallbackOffsetY; + + return [offsetX, offsetY]; + } + + _onClick(gesture, nPress, x, y) { + const widget = this._findWidgetAt(x, y); + + if (!widget) { + this._selectedWidget = null; + this._desktopManager.widgetManager.selectInstance(null); + return; + } + + if (this._isWidgetChromeActor(widget)) { + this._selectedWidget = null; + return; + } + + const instanceId = widget.widgetInstanceId; + if (!instanceId) { + this._selectedWidget = null; + return; + } + + this._selectedWidget = instanceId; + this._desktopManager.widgetManager.selectInstance(instanceId); + this.click = [x, y]; + } + + _onClickRelease(gesture, _nPress, x, y) { + if (!this._selectedWidget) + return; + + const [clickX, clickY] = this.click ?? [x, y]; + const dx = x - clickX; + const dy = y - clickY; + const dist = dx * dx + dy * dy; + const radius = 4 * 4; + const isClick = dist <= radius; + this.click = null; + + if (!isClick) + return; + + // At this point we’ve done all our selection work in _onClick or + // _onWidgetLongPress. For a real click, we now DENY the sequence + // so that the underlying actor (HTML WebView or Gtk.Button add + // widget) sees a normal click. + gesture.set_state(Gtk.EventSequenceState.DENIED); + } + + _isWidgetChromeActor(actor) { + return actor.get_name?.() === 'ding-widget-close-button'; + } + + _doDrawOnGrid(snapshot) { + super._doDrawOnGrid(snapshot); + this._doDrawGridRectangles(snapshot); + } + + _doDrawGridRectangles(snapshot) { + const enabled = this.widgetGridEnabled; + if (enabled) { + const width = this._drawArea.get_allocated_width(); + const height = this._drawArea.get_allocated_height(); + const gridColor = new Gdk.RGBA({red: 0.3, green: 0.3, blue: 0.3, alpha: 0.18}); + + for (let x = 0; x < width; x += this._gridSize) { + const rect = new Graphene.Rect(); + rect.init(x + 0.5, 0, 1, height); + snapshot.append_color(gridColor, rect); + } + + for (let y = 0; y < height; y += this._gridSize) { + const rect = new Graphene.Rect(); + rect.init(0, y + 0.5, width, 1); + snapshot.append_color(gridColor, rect); + } + } + } +}; + +const DesktopGrid = class extends WidgetGrid { + constructor(params) { + super(params); + this._snapshotPic = new OffsetPicture(); + this._oldMargins = null; + this._animationInProgress = false; + this._freezeDesktop = false; + this._pendingMargins = null; + this._newMargins = null; + this._tweenDelta = null; + this._reverse = 0.33; // single tuning knob for spring snappiness + // in ms + this._duration = Math.max(350, this.Enums.TRANSITIONDURATION ?? 0); + this._setupAnimations(); + } + + destroy() { + if (this._relayoutCoalesceSource) { + GLib.source_remove(this._relayoutCoalesceSource); + this._relayoutCoalesceSource = 0; + } + super.destroy(); + } + + _setupAnimations() { + this._setupSpringAnimation(); + this._setupOffsetAnimation(); + } + + _captureSnapshotPaintable(widget) { + return new Promise(resolve => { + const width = widget.get_width(); + const height = widget.get_height(); + const size = new Graphene.Size({width, height}); + try { + const snap = Gtk.Snapshot.new(); + widget.vfunc_snapshot(snap); + resolve(snap.to_paintable(size)); + } catch (e) { + logError(e); + GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, () => { + try { + const snap = Gtk.Snapshot.new(); + widget.vfunc_snapshot(snap); + resolve(snap.to_paintable(size)); + } catch (ee) { + logError(ee); + const gdkpic = + Gtk.WidgetPaintable.new(widget).get_current_image(); + resolve(gdkpic); + } + return GLib.SOURCE_REMOVE; + }); + } + }); + } + + async displaySnapshot() { + if (this._freezeDesktop) + return; + + this._freezeDesktop = true; + const snapshot = await this._captureSnapshotPaintable(this._window); + this._resetAll(); + this._snapshotPic.set_paintable(snapshot); + + this._oldMargins = this._getCurrentMargins(); + + this._overlay.add_overlay(this._snapshotPic); + + this._snapshotPic.opacity = 1; + this._overlay.queue_draw(); + this._rootFixed.opacity = 0; + this._rootFixed.queue_draw(); + } + + _getCurrentMargins() { + const margin = { + left: this._marginLeft ?? 0, + top: this._marginTop ?? 0, + right: this._marginRight ?? 0, + bottom: this._marginBottom ?? 0, + }; + const contentRectangle = this._computeContentRectangle(margin); + margin.contentRectangle = contentRectangle; + return margin; + } + + _computeContentRectangle(margins) { + const contentRectangle = new Gdk.Rectangle({ + x: margins.left, + y: margins.top, + width: this._windowWidth - margins.left - margins.right, + height: this._windowHeight - margins.top - margins.bottom, + }); + return contentRectangle; + } + + _setLiveOffset(dx, dy) { + this._snapshotPic.tx = Math.round(dx); + this._snapshotPic.ty = Math.round(dy); + } + + _setLiveTransform(scale, pivotx, pivoty) { + this._snapshotPic.scale = Number(scale); + this._snapshotPic.pivot_x = Math.round(pivotx); + this._snapshotPic.pivot_y = Math.round(pivoty); + } + + _resetLiveTransform() { + this._setLiveTransform(1.0, 0, 0); + } + + _resetLiveOffset() { + this._setLiveOffset(0, 0); + } + + _resetAll() { + this._resetLiveOffset(); + this._resetLiveTransform(); + } + + _clearOverlay(widget) { + if (widget?.get_parent() === this._overlay) + this._overlay.remove_overlay(widget); + } + + _displayLive() { + this._rootFixed.opacity = 1.0; + this._snapshotPic.opacity = 0; + this._rootFixed.queue_draw(); + this._resetAll(); + this._clearOverlay(this._snapshotPic); + this._animationInProgress = false; + this._freezeDesktop = false; + } + + _computeTweenDelta(Old, New) { + const sameShape = + Old.contentRectangle.width === New.contentRectangle.width && + Old.contentRectangle.height === New.contentRectangle.height; + + if (sameShape) { + // If the content rectangles are the same shape, we can just tween + // the top left corner of the content rectangle as the anchor + // for pixel perfect alignment of the content rectangle. + const anchor = 'topleft'; + const dx = Old.left - New.left; + const dy = Old.top - New.top; + const pivotx = Old.contentRectangle.x; + const pivoty = Old.contentRectangle.y; + + return {sameShape, anchor, dx, dy, pivotx, pivoty}; + } + + // If the content rectangles are not the same shape, or if the + // or both axis changed size, then we cannot just tween the + // top left corner of the content rectangle as the anchor. + // Instead, we need to tween the center, to account for the + // difference in aspect ratio. + const ocx = Old.contentRectangle.x + Old.contentRectangle.width / 2; + const ocy = Old.contentRectangle.y + Old.contentRectangle.height / 2; + const ncx = New.contentRectangle.x + New.contentRectangle.width / 2; + const ncy = New.contentRectangle.y + New.contentRectangle.height / 2; + const anchor = 'center'; + const dx = ocx - ncx; + const dy = ocy - ncy; + const pivotx = ncx; + const pivoty = ncy; + + return {sameShape, anchor, dx, dy, pivotx, pivoty}; + } + + requestAnimatedRelayout() { + if (this._relayoutCoalesceSource) { + GLib.source_remove(this._relayoutCoalesceSource); + this._relayoutCoalesceSource = 0; + } + + // coalesce multiple relayouts within this time + const relayoutBurstMs = 100; + + this._pendingMargins = this._getCurrentMargins(); + + this._relayoutCoalesceSource = GLib.timeout_add( + GLib.PRIORITY_DEFAULT, relayoutBurstMs, () => { + this._playRelayoutTransition(this._pendingMargins); + this._relayoutCoalesceSource = 0; + this._pendingMargins = null; + return GLib.SOURCE_REMOVE; + } + ); + } + + _setupSpringAnimation() { + const dampingRatio = 0.58; // < 1 => underdamped (dip then settle) + const stiffness = 250 + Math.round((1 - this._reverse) * 350); + const mass = 1.0; + + const springParams = + Adw.SpringParams.new(dampingRatio, mass, stiffness); + + const springTarget = Adw.CallbackAnimationTarget.new(v => { + const s = Number(v); // animates around 1.0 due to initial_velocity + this._setLiveTransform( + s, this._tweenDelta.pivotx, this._tweenDelta.pivoty + ); + }); + + this._springAnimation = new Adw.SpringAnimation({ + widget: this._overlay, + value_from: 1.0, + value_to: 1.0, + spring_params: springParams, + initial_velocity: -3.0, // negative => dip “away”, then return + epsilon: 0.001, + clamp: false, + target: springTarget, + }); + } + + _setupOffsetAnimation() { + const target = Adw.CallbackAnimationTarget.new(value => { + const t = Number(value); // 0.0 to 1.0 + const x = Math.round(-this._tweenDelta.dx * t); + const y = Math.round(-this._tweenDelta.dy * t); + this._setLiveOffset(x, y); + this._snapshotPic.opacity = 1 - t; + + // Fade in the NEW live layers only near the end + if (t > 0.8) + this._rootFixed.opacity = t; + }); + + this._offsetAnim = new Adw.TimedAnimation({ + widget: this._overlay, + value_from: 0.0, + value_to: 1.0, + duration: this._duration, + easing: Adw.Easing.EASE_OUT_CUBIC, + target, + }); + + this._offsetAnim.connect('done', () => { + this._setLiveOffset(-this._tweenDelta.dx, -this._tweenDelta.dy); + // Ensure we end exactly at identity scale + if (this._moveAway) { + this._setLiveTransform( + 1.0, this._tweenDelta.pivotx, this._tweenDelta.pivoty + ); + } + this._displayLive(); + }); + } + + _playRelayoutTransition(pendingMargins = null) { + if (!this.animationsEnabled || !this._freezeDesktop) { + this._displayLive(); + return; + } + + if (this._animationInProgress) { + this._offsetAnim.pause(); + this._springAnimation.pause(); + } + + this._animationInProgress = true; + this._newMargins = pendingMargins ?? this._getCurrentMargins(); + + this._tweenDelta = + this._computeTweenDelta(this._oldMargins, this._newMargins); + + const noshift = this._tweenDelta.dx === 0 && this._tweenDelta.dy === 0; + this._moveAway = !this._tweenDelta.sameShape; + if (noshift && !this._moveAway) { + // No visible change, so just end the animation + this._displayLive(); + return; + } + // Initialize transform for the OLD snapshot we are animating + // - translation starts at the old position + // - scale is 1.0 (no depth change yet) + // - pivot is from tweenDelta (center for shape change, topleft otherwise) + this._setLiveOffset(0, 0); + this._setLiveTransform(1.0, + this._tweenDelta.pivotx, + this._tweenDelta.pivoty + ); + + this._offsetAnim.play(); + if (this._moveAway) + this._springAnimation.play(); + } + + get animationsEnabled() { + return this.Prefs.globalAnimations; + } +}; diff --git a/ding/app/desktopIconFactory.js b/ding/app/desktopIconFactory.js new file mode 100644 index 0000000..1332e20 --- /dev/null +++ b/ding/app/desktopIconFactory.js @@ -0,0 +1,81 @@ +/* Adw-DING: Desktop Icons New Generation for GNOME Shell + * + * Gtk4 Port Copyright (C) 2025 Sundeep Mediratta (smedius@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 . + */ + +import {Gio} from '../dependencies/gi.js'; + +import {_} from '../dependencies/gettext.js'; + +import { + Enums, + SpecialFolderIcon, + VolumeIcon, + SymLinkIcon, + DesktopFileIcon, + AppImageFileIcon, + FileItemIcon +} from '../dependencies/localFiles.js'; + +export {IconCreator}; + +const IconCreator = class { + constructor(desktopManager, file, fileInfo, fileTypeEnum, gioMount) { + const isSymLink = fileInfo.get_attribute_boolean( + Gio.FILE_ATTRIBUTE_STANDARD_IS_SYMLINK); + + const attributeContentType = fileInfo.get_content_type(); + + let BaseType; + + switch (attributeContentType) { + case 'application/x-desktop': + BaseType = DesktopFileIcon; + break; + case 'application/vnd.appimage': + BaseType = AppImageFileIcon; + break; + default: + BaseType = FileItemIcon; + } + + if (fileTypeEnum === Enums.FileType.USER_DIRECTORY_HOME || + fileTypeEnum === Enums.FileType.USER_DIRECTORY_TRASH) + BaseType = SpecialFolderIcon; + + + if (fileTypeEnum === Enums.FileType.EXTERNAL_DRIVE) + BaseType = VolumeIcon; + + if (!isSymLink) { + return new BaseType( + desktopManager, + file, + fileInfo, + fileTypeEnum, + gioMount + ); + } else { + return new SymLinkIcon( + BaseType, + desktopManager, + file, + fileInfo, + fileTypeEnum, + gioMount + ); + } + } +}; diff --git a/ding/app/desktopIconItem.js b/ding/app/desktopIconItem.js new file mode 100644 index 0000000..8f513c5 --- /dev/null +++ b/ding/app/desktopIconItem.js @@ -0,0 +1,1037 @@ + +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Gtk4 Port Copyright (C) 2022- 2025 Sundeep Mediratta (smedius@gmail.com) + * Copyright (C) 2021 Sundeep Mediratta (smedius@gmail.com) + * Copyright (C) 2019 Sergio Costas (rastersoft@gmail.com) + * Based on code original (C) Carlos Soriano + * SwitcherooControl code based on code original from Marsch84 + * + * 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 . + */ +import {Gtk, Gdk, Gio, Graphene, Gsk, GLib, Pango, GdkPixbuf} + from '../dependencies/gi.js'; + +import {_} from '../dependencies/gettext.js'; + +export {DesktopIconItem}; + +const Signals = imports.signals; + +const PIXBUF_CONTENT_TYPES = new Set(); + +GdkPixbuf.Pixbuf +.get_formats() +.forEach(f => PIXBUF_CONTENT_TYPES.add(...f.get_mime_types())); + +const DesktopIconItem = class { + constructor(desktopManager, fileTypeEnum) { + this._desktopManager = desktopManager; + this._dragManager = desktopManager.dragManager; + this.DesktopIconsUtil = desktopManager.DesktopIconsUtil; + this.FileUtils = desktopManager.FileUtils; + this.Prefs = desktopManager.Prefs; + this.Enums = desktopManager.Enums; + this.ThumbnailLoader = desktopManager.ThumbnailLoader; + this._fileTypeEnum = fileTypeEnum; + this._queryFileInfoCancellable = null; + this._grid = null; + this._column = null; + this._row = null; + this._lastClickTime = 0; + this._lastClickButton = 0; + this._clickCount = 0; + this._isSelected = false; + this._isSpecial = false; + this._keyboardSelected = false; + this._savedCoordinates = null; + this._dropCoordinates = null; + this._normalCoordinates = null; + this._monitorIndex = null; + this._destroyed = false; + this.thumbnail = null; + this.thumbnailFile = null; + } + + /** ********************* + * Destroyers * + ***********************/ + + removeFromGrid(opts = {callOnDestroy: false}) { + if (this._grid) { + this._grid.removeItem(this); + this._grid = null; + } + + if (opts.callOnDestroy) + this.onDestroy(); + } + + _destroy() { + /* Regular file data */ + if (this._queryFileInfoCancellable) + this._queryFileInfoCancellable.cancel(); + + /* Icons update */ + if (this._updateIconCancellable) + this._updateIconCancellable.cancel(); + + /* Container */ + if (this._containerId) { + this.container.disconnect(this._containerId); + this._containerId = 0; + } + + /* DragItem */ + if (this.dragIconSignal) + this.dragIcon.disconnect(this.dragIconSignal); + + if (this._iconStateFlag) + this._iconContainer.disconnect(this._iconStateFlag); + + if (this._labelStateFlag) + this._labelContainer.disconnect(this._labelStateFlag); + + this._destroyToolTip(); + } + + onDestroy() { + this._destroy(); + this._destroyed = true; + } + + /** ********************* + * Creators * + ***********************/ + + _createIconActor() { + this.container = + new Gtk.Box({ + orientation: Gtk.Orientation.VERTICAL, + halign: Gtk.Align.CENTER, + focusable: true, + can_focus: true, + accessible_role: Gtk.AccessibleRole.LABEL, + }); + this.container.add_css_class('desktop-icon-container'); + + this._containerId = + this.container.connect('destroy', () => this.onDestroy()); + + this._icon = new Gtk.Picture({ + can_shrink: false, + keep_aspect_ratio: true, + halign: Gtk.Align.CENTER, + }); + + this._iconContainer = new Gtk.Box({ + orientation: Gtk.Orientation.HORIZONTAL, + halign: Gtk.Align.CENTER, + hexpand: false, + baseline_position: Gtk.BaselinePosition.CENTER, + }); + + this._iconContainer.append(this._icon); + + this._label = new Gtk.Label({ + halign: Gtk.Align.CENTER, + natural_wrap_mode: Gtk.NaturalWrapMode.WORD, + ellipsize: Pango.EllipsizeMode.END, + wrap: true, + wrap_mode: Pango.WrapMode.WORD_CHAR, + yalign: 0.0, + xalign: 0.0, + justify: Gtk.Justification.CENTER, + lines: 2, + }); + + this._labelContainer = new Gtk.Box({ + orientation: Gtk.Orientation.VERTICAL, + name: 'file-item', + }); + + this.iconRectangle = new Gdk.Rectangle(); + this.iconLocalWindowRectangle = new Gdk.Rectangle(); + this.labelRectangle = new Gdk.Rectangle(); + + this._iconContainerEventController = new Gtk.EventControllerMotion({ + propagation_phase: Gtk.PropagationPhase.CAPTURE, + }); + + this._icon.add_controller(this._iconContainerEventController); + + this._iconContainerEventController.connect('enter', () => { + this._showToolTip(); + }); + + this._iconContainerEventController.connect('leave', () => { + this._destroyToolTip(); + }); + + // This controls how the icons look - Rectangular or skinny trapezoid + + if (!this.Prefs.freePositionIcons) { + this._labelContainer.append(this._iconContainer); + this._label.add_css_class('file-label-vertical'); + this._labelContainer.append(this._label); + this.container.append(this._labelContainer); + } else { + this._labelContainer.append(this._label); + this.container.append(this._iconContainer); + this.container.append(this._labelContainer); + + this._iconStateFlag = + this._iconContainer.connect('state-flags-changed', () => { + if (this._checkHasHoveredPointer(this._iconContainer)) { + this._onEnter(); + this._labelContainer.add_css_class('mimic-hovered'); + } else { + this._onLeave(); + this._labelContainer.remove_css_class('mimic-hovered'); + } + }); + + this._iconContainer.set_name('file-item'); + } + + this._labelStateFlag = + this._labelContainer.connect('state-flags-changed', () => { + if (this._checkHasHoveredPointer(this._labelContainer)) { + this._onEnter(); + + if (this.Prefs.freePositionIcons) + this._iconContainer.add_css_class('mimic-hovered'); + } else { + this._onLeave(); + + if (this.Prefs.freePositionIcons) + this._iconContainer.remove_css_class('mimic-hovered'); + } + }); + + this.dragIcon = Gtk.WidgetPaintable.new(this.container); + + this.dragIconSignal = this.dragIcon.connect('invalidate-size', () => { + this._doIconSizeAllocated(); + }); + + this.container.show(); + } + + _doIconSizeAllocated() { + // If icons are hidden during stacking, they are not assigned a grid // + if (!this._grid) + return; + + this._calculateIconRectangle(); + this._calculateLabelRectangle(); + this.iconPlacedPromiseResolve(true); + } + + iconPlaced = new Promise(resolve => { + this.iconPlacedPromiseResolve = resolve; + }); + + _calculateIconRectangle() { + this.iconwidth = this._iconContainer.get_allocated_width(); + this.iconheight = this._iconContainer.get_allocated_height(); + const [x, y] = + this._grid.coordinatesLocalToGlobal(0, 0, this._iconContainer); + this.iconRectangle.x = x; + this.iconRectangle.y = y; + this.iconRectangle.width = this.iconwidth; + this.iconRectangle.height = this.iconheight; + this._calculateLocalWindowRectangle(); + } + + _calculateLocalWindowRectangle() { + const [x, y] = + this._grid.coordinatesLocalToWindow(0, 0, this._iconContainer); + this.iconLocalWindowRectangle.x = x; + this.iconLocalWindowRectangle.y = y; + this.iconLocalWindowRectangle.width = this.iconwidth; + this.iconLocalWindowRectangle.height = this.iconheight; + } + + _calculateLabelRectangle() { + this.labelwidth = this._labelContainer.get_allocated_width(); + this.labelheight = this._labelContainer.get_allocated_height(); + const [x, y] = + this._grid.coordinatesLocalToGlobal(0, 0, this._labelContainer); + this.labelRectangle.x = x; + this.labelRectangle.y = y; + this.labelRectangle.width = this.labelwidth; + this.labelRectangle.height = this.labelheight; + } + + setCoordinates(x, y, width, height, margin, grid) { + this._x1 = x; + this._y1 = y; + this.width = width; + this.height = height; + this._grid = grid; + this.container.set_size_request(width, height); + this._label.margin_start = margin; + this._label.margin_end = margin; + this._label.margin_bottom = margin; + this._iconContainer.margin_top = margin; + this._calculateIconRectangle(); + this._calculateLabelRectangle(); + } + + getCoordinates() { + this._x2 = this._x1 + this.container.get_allocated_width() - 1; + this._y2 = this._y1 + this.container.get_allocated_height() - 1; + + return [this._x1, this._y1, this._x2, this._y2, this._grid]; + } + + writeSavedCoordinates(pos) { + this._parseSavedCoordinates(pos); + } + + writeDropCoordinates(pos) { + this._parseDropCoordinates(pos); + } + + readSavedCoordinates() { + this._parseSavedCoordinates([]); + } + + readDropCoordinates() { + this._parseDropCoordinates([]); + } + + _parseDropCoordinates(pos) { + if (!Array.isArray(pos) || pos.some(e => isNaN(e))) { + this._dropCoordinates = null; + return; + } + pos = pos.map(e => Number(e)); + if (pos?.length === 2) + this._dropCoordinates = pos; + else + this._dropCoordinates = null; + } + + _parseSavedCoordinates(pos) { + if (!Array.isArray(pos) || pos.some(e => isNaN(e))) { + this._savedCoordinates = null; + this._normalCoordinates = null; + this._monitorIndex = null; + return; + } + pos = pos.map(e => Number(e)); + if (pos?.length === 2) { + this._savedCoordinates = pos; + this._normalCoordinates = null; + this._monitorIndex = null; + } else if (pos?.length === 5) { + this._savedCoordinates = pos.slice(0, 2); + this._normalCoordinates = pos.slice(2, 4); + this._monitorIndex = pos[4]; + } else { + this._savedCoordinates = null; + this._normalCoordinates = null; + this._monitorIndex = null; + } + } + + _setLabelName(text) { + this._currentFileName = text; + this._label.label = text; + } + + /** ********************* + * Button Clicks * + ***********************/ + + _checkHasHoveredPointer(widget) { + let stateFlags = widget.get_state_flags(); + if ((stateFlags & Gtk.StateFlags.PRELIGHT) === Gtk.StateFlags.PRELIGHT) + return true; + else + return false; + } + + _onPressButton(actor, nPress, X, Y, x, y, shiftPressed, controlPressed) { + const button = actor.get_current_button(); + + this._buttonPressInitialX = x - this._x1; + this._buttonPressInitialY = y - this._y1; + + this._desktopManager.activeFileItem = this; + + if (button === 3) { + this._doButtonThreePressed( + button, + nPress, + X, Y, + x, y, + shiftPressed, + controlPressed + ); + } else if (button === 1) { + this._doButtonOnePressed( + button, + nPress, + X, Y, + x, y, + shiftPressed, + controlPressed + ); + } + } + + _onLongPressButton( + _actor, _X, _Y, _x, _y, _button, _shiftPressed, _controlPressed) { + // Handle long press events here if needed + } + + _onReleaseButton(actor, X, Y, x, y, shiftPressed, controlPressed) { + let button = actor.get_current_button(); + this._grid?.makeTopLayerOnGrid(this); + + if (button === 1) { + this._doButtonOneReleased( + button, + X, Y, + x, y, + shiftPressed, + controlPressed + ); + } + } + + _doButtonThreePressed( + button, nPress, X, Y, x, y, shiftPressed, controlPressed + ) { + if (!this._isSelected) + this._dragManager.selected(this, this.Enums.Selection.RIGHT_BUTTON); + + this._destroyToolTip(); + + this._desktopManager.fileItemMenu.showMenu( + this, + button, + X, Y, + x, y, + shiftPressed, + controlPressed + ); + } + + _doButtonOnePressed( + button, nPress, X, Y, x, y, shiftPressed, controlPressed + ) { + if (nPress === 1) { + if (shiftPressed || controlPressed) { + this._dragManager.selected( + this, + this.Enums.Selection.WITH_SHIFT + ); + } else { + this._dragManager.selected( + this, + this.Enums.Selection.ALONE + ); + } + } + } + + _doButtonOneReleased( + // eslint-disable-next-line no-unused-vars + button, nPressX, Y, x, y, shiftPressed, controlPressed) { + } + + /** ********************* + * Drag and Drop * + ***********************/ + + _onEnter() { + if (!this._grid) + return true; + + if (this.Prefs.CLICK_POLICY_SINGLE) { + let window = this._grid._window; + + if (window) + window.set_cursor(Gdk.Cursor.new_from_name('hand', null)); + } + + return false; + } + + _onLeave() { + if (!this._grid) + return true; + + if (this.Prefs.CLICK_POLICY_SINGLE) { + let window = this._grid._window; + + if (window) + window.set_cursor(Gdk.Cursor.new_from_name('default', null)); + } + + return false; + } + + _showToolTip() { + if (this._toolTipTimer) + return; + + this._toolTipTimer = + GLib.timeout_add( + GLib.PRIORITY_DEFAULT, + this.Enums.TOOLTIP_HOVER_TIMEOUT, + () => { + this._desktopManager.fileItemMenu.showToolTip(this); + this._toolTipTimer = 0; + return GLib.SOURCE_REMOVE; + } + ); + } + + _destroyToolTip() { + if (this._toolTipTimer) { + GLib.Source.remove(this._toolTipTimer); + this._toolTipTimer = 0; + } + + this._desktopManager.fileItemMenu.hideToolTip(this); + } + + _hasToRouteDragToGrid() { + if (this._grid) + return true; + else + return false; + } + + _updateDragStatus(context, time) { + if (this.DesktopIconsUtil + .getModifiersInDnD(context, Gdk.ModifierType.CONTROL_MASK) + ) + Gdk.drag_status(context, Gdk.DragAction.COPY, time); + else + Gdk.drag_status(context, Gdk.DragAction.MOVE, time); + } + + setHighLighted() { + if (!this._iconContainer + .get_css_classes() + .includes('desktop-icons-selected') + ) + this._iconContainer.add_css_class('desktop-icons-selected'); + + if (!this._labelContainer + .get_css_classes() + .includes('desktop-icons-selected') + ) + this._labelContainer.add_css_class('desktop-icons-selected'); + + if (!this.container + .get_css_classes() + .includes('desktop-icons-selected') + ) + this.container.add_css_class('desktop-icons-selected'); + } + + setUnHighLighted() { + if (this._iconContainer + .get_css_classes() + .includes('desktop-icons-selected') + ) + this._iconContainer.remove_css_class('desktop-icons-selected'); + + if (this._labelContainer + .get_css_classes() + .includes('desktop-icons-selected') + ) + this._labelContainer.remove_css_class('desktop-icons-selected'); + + if (this.container + .get_css_classes() + .includes('desktop-icons-selected') + ) + this.container.remove_css_class('desktop-icons-selected'); + } + + highLightDropTarget() { + if (this._hasToRouteDragToGrid()) { + this._grid.receiveMotion(this._x1, this._y1, true); + + return; + } + + this.setHighLighted(); + this._grid?.highLightGridAt(this._x1, this._y1); + } + + unHighLightDropTarget() { + if (this._hasToRouteDragToGrid()) { + this._grid?.receiveLeave(); + return; + } + this.setUnHighLighted(); + this._grid?.unHighLightGrids(); + } + + setSelected() { + this._isSelected = true; + this._setSelectedStatus(); + } + + unsetSelected() { + this._isSelected = false; + this._setSelectedStatus(); + } + + toggleSelected() { + this._isSelected = !this._isSelected; + this._setSelectedStatus(); + } + + _setSelectedStatus() { + if (this._isSelected) { + this.setHighLighted(); + this.container.grab_focus(); + } + if (!this._isSelected) + this.setUnHighLighted(); + } + + keyboardSelected() { + if (!this._iconContainer.get_css_classes().includes('mimic-hovered')) { + this._iconContainer.add_css_class('mimic-hovered'); + this._labelContainer.add_css_class('mimic-hovered'); + } + + if (!this.container.get_css_classes().includes('keyboard-selected')) + this.container.add_css_class('keyboard-selected'); + + this._keyboardSelected = true; + } + + keyboardUnSelected() { + if (this._iconContainer.get_css_classes().includes('mimic-hovered')) { + this._iconContainer.remove_css_class('mimic-hovered'); + this._labelContainer.remove_css_class('mimic-hovered'); + } + + if (this.container.get_css_classes().includes('keyboard-selected')) + this.container.remove_css_class('keyboard-selected'); + + this._keyboardSelected = false; + } + + get KeyboardSelected() { + return this._keyboardSelected; + } + + // eslint-disable-next-line no-unused-vars + receiveDrop(x, y, selection, info) { + } + + _dropCapable() { + return false; + } + + /** ********************* + * Icon Rendering * + ***********************/ + + async updateIcon() { + await this._updateIcon().catch(e => { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { + console.error(e, `Exception while updating ${this._getVisibleName + ? this._getVisibleName() : 'an icon'}: ${e.message}`); + } + }); + } + + async _updateIcon(cancellable) { + if ((cancellable && cancellable.is_cancelled()) || this._destroyed) { + throw new GLib.Error(Gio.IOErrorEnum, + Gio.IOErrorEnum.CANCELLED, + 'Operation was cancelled'); + } else if (!cancellable) { + cancellable = new Gio.Cancellable(); + } + + if (this._updateIconCancellable) + this._updateIconCancellable.cancel(); + + this._updateIconCancellable = cancellable; + + if (this.Prefs.darkText) { + this._label.remove_css_class('file-label'); + this._label.add_css_class('file-label-dark'); + } else { + this._label.remove_css_class('file-label-dark'); + this._label.add_css_class('file-label'); + } + + try { + const customIcon = + this._fileInfo.get_attribute_as_string('metadata::custom-icon'); + + if (customIcon && (customIcon !== '')) { + const customIconFile = Gio.File.new_for_uri(customIcon); + + if (await this._loadImageAsIcon(customIconFile, cancellable)) + return; + } + + if (this.thumbnailFile && (this.thumbnailFile !== '')) { + const customIconFile = Gio.File.new_for_path(this.thumbnailFile); + + if (await this.FileUtils.queryExists(customIconFile)) { + const loadedImage = + await this._loadImageAsIcon(customIconFile, cancellable); + + if (loadedImage | this._destroyed) + return; + } + } + } catch (error) { + if (error.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) + throw error; + + console.error(error, `Error while updating icon: ${error.message}`); + } + + if (this._fileTypeEnum === this.Enums.FileType.USER_DIRECTORY_TRASH) { + let pixbuf = + this._createEmblemedIcon(this._fileInfo.get_icon(), null); + + if (cancellable.is_cancelled()) + return; + + this._icon.set_paintable(pixbuf); + return; + } + + let iconSet = false; + + if (this.Prefs.showImageThumbnails) { + try { + if (!this.thumbnail) { + this.thumbnail = + await this.ThumbnailLoader.getThumbnail( + this, + cancellable + ); + } + + if (this.thumbnail !== null) { + const thumbnailFile = Gio.File.new_for_path(this.thumbnail); + iconSet = + await this._loadImageAsIcon(thumbnailFile, cancellable); + } + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) + throw e; + + console.error( + e, `Error while generating thumbnail: ${e.message}` + ); + } + } + + if (!iconSet) { + let iconPaintable; + + if (this._isBrokenSymlink) { + iconPaintable = + this._createEmblemedIcon(null, 'text-x-generic'); + } else if (this._desktopFile && this._desktopFile.has_key('Icon')) { + iconPaintable = + this._createEmblemedIcon( + null, + this._desktopFile.get_string('Icon') + ); + } else { + iconPaintable = + this._createEmblemedIcon(this._getDefaultIcon(), null); + } + + if (cancellable.is_cancelled()) + return; + + this._icon.set_paintable(iconPaintable); + } + + if (cancellable === this._updateIconCancellable) + this._updateIconCancellable = null; + } + + _getDefaultIcon() { + return this._fileInfo.get_icon(); + } + + async _loadImageAsIcon(imageFile, cancellable) { + try { + const [thumbnailData] = + await imageFile.load_bytes_async(cancellable); + const iconTexture = + Gdk.Texture.new_from_bytes(thumbnailData); + + let width = this.Prefs.DesiredWidth; + let height = this.Prefs.IconSize; + + const aspectRatio = iconTexture.width / iconTexture.height; + + if ((width / height) > aspectRatio) + width = height * aspectRatio; + else + height = width / aspectRatio; + + const iconPaintableSnapshot = Gtk.Snapshot.new(); + iconTexture.snapshot( + iconPaintableSnapshot, + Math.floor(width), + Math.floor(height) + ); + + let icon = iconPaintableSnapshot.to_paintable(null); + icon = this._addEmblemsToIconIfNeeded(icon); + + this._icon.set_paintable(icon); + + return true; + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) + throw e; + + console + .error(e, `Error while loading ${imageFile.get_uri()} as icon`); + + return false; + } + } + + _addEmblem(iconPaintable, emblem = null, position = 0) { + if (!emblem) + return iconPaintable; + + const scale = this._icon.get_scale_factor(); + + let ratio; + switch (this.Prefs.IconSize) { + case 36: ratio = 3; + break; + case 48: ratio = 3; + break; + case 64: ratio = 4; + break; + case 96: ratio = 5; + } + + const finalSize = Math.floor(this.Prefs.IconSize / ratio) * scale; + const iconWidth = iconPaintable.get_intrinsic_width(); + const iconHeight = iconPaintable.get_intrinsic_height(); + + const theme = Gtk.IconTheme.get_for_display(Gdk.Display.get_default()); + + const emblemIcon = + theme.lookup_by_gicon( + emblem, + finalSize / scale, + scale, + Gtk.TextDirection.NONE, + Gtk.IconLookupFlags.FORCE_SIZE | + Gtk.IconLookupFlags.FORCE_SYMBOLIC + ); + + const emblemWidth = emblemIcon.get_intrinsic_width(); + const emblemHeight = emblemIcon.get_intrinsic_height(); + + + const emblemSnapshot = Gtk.Snapshot.new(); + const rect = new Graphene.Rect(); + rect.init(2, 2, emblemWidth - 4, emblemHeight - 4); + const rr = new Gsk.RoundedRect(); + rr.init_from_rect(rect, 5); + emblemSnapshot.append_color(this.Prefs.hoverColor, rect); + emblemIcon.snapshot(emblemSnapshot, emblemWidth, emblemHeight); + const emblemNode = emblemSnapshot.to_node(); + + const iconPaintableSnapshot = Gtk.Snapshot.new(); + iconPaintable.snapshot(iconPaintableSnapshot, iconWidth, iconHeight); + iconPaintableSnapshot.save(); + + if (!this._emblemX) { + const desiredWidth = this.Prefs.DesiredWidth - 8; + const estimatedWidth = iconWidth + 2 * emblemWidth; + const finalWidth = Math.min(desiredWidth, estimatedWidth); + this._emblemX = + Math.round((iconWidth + finalWidth) / 2 - emblemWidth); + } + + const x = this._emblemX; + const y = Math.max(0, position * (emblemHeight + 1)); + + iconPaintableSnapshot.translate(new Graphene.Point({x, y})); + iconPaintableSnapshot.append_node(emblemNode); + iconPaintableSnapshot.restore(); + + return iconPaintableSnapshot.to_paintable(null); + } + + _addEmblemsToIconIfNeeded(iconPaintable) { + return this._addEmblem(iconPaintable); + } + + _createEmblemedIcon(icon, iconName) { + if (icon === null) { + if (GLib.path_is_absolute(iconName)) { + try { + let iconFile = Gio.File.new_for_commandline_arg(iconName); + icon = new Gio.FileIcon({file: iconFile}); + } catch (e) { + icon = Gio.ThemedIcon.new_with_default_fallbacks(iconName); + } + } else { + try { + icon = Gio.Icon.new_for_string(iconName); + } catch (e) { + icon = Gio.ThemedIcon.new_with_default_fallbacks(iconName); + } + } + } + + let theme = + Gtk.IconTheme.get_for_display(Gdk.Display.get_default()); + + const scale = this._icon.get_scale_factor(); + let iconPaintable = null; + + try { + iconPaintable = + theme.lookup_by_gicon( + icon, + this.Prefs.IconSize, + scale, + Gtk.TextDirection.NONE, + Gtk.IconLookupFlags.FORCE_SIZE + ); + } catch (e) { + iconPaintable = + theme.lookup_icon( + 'text-x-generic', + [], + this.Prefs.IconSize, + scale, + Gtk.TextDirection.NONE, + Gtk.IconLookupFlags.FORCE_SIZE + ); + } + + return this._addEmblemsToIconIfNeeded(iconPaintable); + } + + /** ********************* + * Getters and setters * + ***********************/ + + get _desktopDir() { + return this._desktopManager.desktopDir; + } + + get state() { + return this._state; + } + + set state(state) { + if (state === this._state) + return; + + this._state = state; + } + + set opacity(number) { + this.container.set_opacity(number); + } + + get dropCapable() { + return this._dropCapable(); + } + + get isDrive() { + return this._fileTypeEnum === this.Enums.FileType.EXTERNAL_DRIVE; + } + + get isSelected() { + return this._isSelected; + } + + get isSpecial() { + return this._isSpecial; + } + + get savedCoordinates() { + return this._savedCoordinates; + } + + get normalCoordinates() { + return this._normalCoordinates; + } + + get monitorIndex() { + return this._monitorIndex; + } + + get dropCoordinates() { + return this._dropCoordinates; + } + + get isEncrypted() { + if (this._isEncrypted === undefined) + return false; + return this._isEncrypted; + } + + get column() { + return this._column; + } + + get row() { + return this._row; + } + + set column(num) { + this._column = num; + } + + set row(num) { + this._row = num; + } + + set dropCoordinates(pos) { + this.writeDropCoordinates(pos); + } + + set savedCoordinates(pos) { + this.writeSavedCoordinates(pos); + } + + set temporarySavedPosition(pos) { + this._savedCoordinates = pos; + } + + set temporaryMonitorIndex(index) { + this._monitorIndex = index; + } +}; +Signals.addSignalMethods(DesktopIconItem.prototype); diff --git a/ding/app/desktopManager.js b/ding/app/desktopManager.js new file mode 100644 index 0000000..77f567a --- /dev/null +++ b/ding/app/desktopManager.js @@ -0,0 +1,1874 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Gtk4 Port Copyright (C) 2022-25 Sundeep Mediratta (smedius@gmail.com) + * Copyright (C) 2019 Sergio Costas (rastersoft@gmail.com) + * Based on code original (C) 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, 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 . + */ +import { + AppChooser, + AskRenamePopup, + AutoAr, + DesktopMenu, + DesktopMonitor, + DragManager, + FileItemMenu, + GnomeShellDragDrop, + ShortcutManager, + ShowErrorPopup, + StackItem, + TemplatesScriptsManager, + WindowManager, + WidgetManager +} from '../dependencies/localFiles.js'; + +import {Adw, Gtk, Gdk, Gio, GLib, GLibUnix} from '../dependencies/gi.js'; +import {_} from '../dependencies/gettext.js'; + +export {DesktopManager}; + +const DesktopManager = class { + constructor(Data, Utils, desktopList, codePath, asDesktop, primaryIndex) { + // Inherit + this.mainApp = Data.mainApp; + this.codePath = codePath; + this._asDesktop = asDesktop; + if (asDesktop) { + // Don't close the application if there are no desktops + this.mainApp.hold(); + this._hold_active = true; + } + + this.GnomeShellVersion = Data.gnomeversion; + + this.uuid = Data.uuid; + + // Init and import Scripts and classes + this.DesktopIconsUtil = Utils.DesktopIconsUtil; + this.FileUtils = Utils.FileUtils; + this.Enums = Data.Enums; + this.DBusUtils = Utils.DBusUtils; + this.dbusManager = Utils.DBusUtils.dbusManagerObject; + this.Prefs = Utils.Preferences; + this.showErrorPopup = ShowErrorPopup; + this.templatesScriptsManager = TemplatesScriptsManager; + this.GnomeShellDragDrop = GnomeShellDragDrop; + this.appChooser = AppChooser; + this.ThumbnailLoader = Utils.ThumbnailLoader; + + // init methods + this.dragManager = new DragManager.DragManager(this); + this.windowManager = new WindowManager.WindowManager(this, + desktopList, + asDesktop, + primaryIndex + ); + this.desktopMonitor = new DesktopMonitor.DesktopMonitor(this); + this.autoAr = new AutoAr.AutoAr(this); + this.fileItemMenu = new FileItemMenu.FileItemMenu(this); + this.fileItemActions = new FileItemMenu.FileItemActions(this); + this.desktopActions = new DesktopMenu.DesktopActions(this); + this.desktopMenuManager = new DesktopMenu.DesktopBackgroundMenu(this); + this.Prefs.init(this); + this.shortcutManager = new ShortcutManager(this); + this.widgetManager = new WidgetManager.WidgetManager(this); + + // Init Variables + this._clickX = null; + this._clickY = null; + this._compositeStackList = null; + this._displayList = []; + // Track last seen keyboard modifier state so accelerators can query it + this._lastModifierState = 0; + this.ignoreKeys = this.Enums.IgnoreKeys.map(_k => Gdk[_k]); + + // setup gracefull termination + if (this._asDesktop) { + this._sigtermID = GLibUnix.signal_add_full( + GLib.PRIORITY_DEFAULT, + 15, + () => { + GLib.source_remove(this._sigtermID); + this.terminateProgram(); + if (this._hold_active) { + this.mainApp.release(); + this._hold_active = false; + } + return false; + } + ); + } + this._syncStartupDesktop().catch(e => logError(e)); + } + + async _syncStartupDesktop() { + // startup in a particular order + // First create and make sure windows are created + const windowscreated = new Promise(resolve => { + this.windowsPromiseResolve = resolve; + this.windowManager.createGridWindows().catch(e => logError(e)); + // If this desktop List is null, ask for a new one + this.windowManager.requestGeometryUpdate(); + }); + + // Monitor is attached, windows are created with proper geometry + await windowscreated.catch(e => logError(e)); + + // Now we can actually display errors, so check for them + // Ensure that there is a 'Desktop' folder set and it exists + // Verify if Gnome Files is available and executable, otherwise warn + // Confirm Gnome Files is registered with xdg-utils + // to handle inode/directory + this._performSanityChecks().catch(e => logError(e)); + + // The initialRead parameter insures tha grid positions are recalculated + // and recaculated postions of all fileItems will be re-written to + // disk with write mode 'OVERWRITE' + const initialRead = true; + + // prior fileList, even if triggered through desktopdir changes + // will not be displayed as windows were not there. + const fileList = await this.desktopMonitor.getFileList(); + + // This is no longer needed, if true it blocks and all updates. + this.windowsPromiseResolve = null; + + await this._drawDesktop(fileList, {initialRead}).catch(e => logError(e)); + // First intitiation complete, valid file read from + // desktopdir, even if a prior fileList was read, the + // forced new read will recalculate and resave new + // normalized coordinates and monitor information. + + this._startWidgetDisplay(); + + // force a queue draw of all windows now that we have drawn the desktop, + // and poke mutter to map the meta window. + this.windowManager.queue_draw(); + } + + async _performSanityChecks() { + // show error if monitor frame buffer scaling is not enabled first, + // as windows may be awry + if (this.windowManager.differentZooms && + !this.Prefs.usingX11 && + !this.fractionalScaling && + !this._framebufferWarningDone) { + const header = _('Monitor Frame Buffer Scaling is not enabled'); + const text = _('Multiple monitors with different zoom settings, recommend per monitor framebuffer scaling.\n\nPlease enable in Mutter Dconf Settings'); + // show notification as well as error dialog as windows may + // not be postioned correctly + this.dbusManager.doNotify(header, text); + this._framebufferWarningDone = true; + + const window = this.mainApp.get_active_window(); + const dialog = new Adw.AlertDialog(); + dialog.set_body_use_markup(true); + dialog.set_heading_use_markup(true); + dialog.set_heading(header); + const secondaryText = _('Multiple monitors with different zoom settings.\n\nEnable per monitor framebuffer scaling in Mutter Dconf Settings?'); + dialog.set_body(secondaryText); + dialog.add_response('cancel', _('Cancel')); + dialog.add_response('enable', _('Enable')); + dialog.set_close_response('cancel'); + dialog.set_default_response('enable'); + dialog.set_response_appearance( + 'enable', Adw.ResponseAppearance.SUGGESTED); + dialog.set_response_appearance( + 'cancel', Adw.ResponseAppearance.DEFAULT); + dialog.set_prefer_wide_layout(true); + const runDialog = new Promise(resolve => { + dialog.choose(window, null, (actor, asyncResult) => { + const response = actor.choose_finish(asyncResult); + if (response === 'enable') + this.Prefs.fractionalScaling = true; + dialog.close(); + resolve(response); + }); + }); + await runDialog; + } + + const fileType = this._desktopDir.query_file_type( + Gio.FileQueryInfoFlags.NOFOLLOW_SYMLINKS, + null); + if (fileType === Gio.FileType.SYMBOLIC_LINK) { + const header = _('Can Not Show the Desktop'); + // TRANSLATORS: {desktop} folder path automatically inserted + const text = _('The Desktop folder {desktop} is a Symbolic Link\n\nPlease set the Desktop Folder to a real Folder'); + const errorDialog = this.showError( + header, + text.replace('{desktop}', this._desktopDir.get_path()) + ); + await errorDialog.run(); + this._desktops.forEach(d => d.setErrorState()); + } else if (fileType !== Gio.FileType.DIRECTORY) { + const header = _('Can Not Show the Desktop'); + // TRANSLATORS: {desktop} folder path automatically inserted + const text = _('The Desktop folder {desktop} does not exist, or is not a Directory\n\nCheck your xdg-utils installation and set the correct Desktop Folder'); + const errorDialog = this.showError( + header, + text.replace('{desktop}', this._desktopDir.get_path()) + ); + await errorDialog.run(); + this._desktops.forEach(d => d.setErrorState()); + } + + const inodeHandlers = Gio.AppInfo.get_all_for_type('inode/directory'); + if (!GLib.find_program_in_path('nautilus')) { + const header = _('GNOME Files not found'); + const text = _('The GNOME Files application is required by Gtk4 Desktop Icons NG.'); + const errorDialog = this.showError(header, text); + await errorDialog.run(); + } + + if (!inodeHandlers.length) { + const helpURL = 'https://gitlab.com/smedius/desktop-icons-ng/-/issues/73'; + const header = _('There is no default File Manager'); + const text = _('There is no application that handles mimetype "inode/directory"'); + const errorDialog = this.showError(header, text, helpURL); + await errorDialog.run(); + } + + if (!inodeHandlers.map(a => a.get_id()).includes('org.gnome.Nautilus.desktop')) { + const helpURL = 'https://gitlab.com/smedius/desktop-icons-ng/-/issues/73'; + const header = _('Gnome Files is not registered as a File Manager'); + const text = _('The Gnome Files application is not programmed to open Folders!\nCheck your xdg-utils installation\nCheck Gnome Files .desktop File installation'); + const errorDialog = this.showError(header, text, helpURL); + await errorDialog.run(); + } + } + + showError(text, secondaryText, helpURL = null, timeout = 0) { + const errorDialog = new ShowErrorPopup.ShowErrorPopup( + text, + secondaryText, + this.DesktopIconsUtil.waitDelayMs, + helpURL + ); + + if (timeout) + errorDialog.runAutoClose(timeout); + + return errorDialog; + } + + terminateProgram() { + this.desktopMonitor.stopMonitoring(); + + if (this._dbusGeometryIface) + this._dbusGeometryIface.unexport(); + + if (this._compositeStackList && this._compositeStackList.length) { + this._displayList.forEach(f => { + if (f.isStackMarker) + f.onDestroy(); + }); + this._compositeStackList.forEach(f => f.onDestroy()); + } else { + this._displayList.forEach(f => f.onDestroy()); + } + + this._stopWidgetDisplay(); + this.windowManager.destroyDesktops(); + } + + // Keyboard and Mouse Events + + onPressButton(X, Y, x, y, button, shiftPressed, controlPressed) { + this._clickX = Math.floor(X); + this._clickY = Math.floor(Y); + + // Left Click + if (button === 1) { + if (!shiftPressed && !controlPressed) { + // clear selection + this.unselectAll(); + } + this.dragManager.startRubberband(X, Y); + } + } + + async onReleaseButton(X, Y, x, y, button, isShift, isCtrl, grid) { + // Right Click + if (button === 3) { + await this.desktopMenuManager + .showDesktopMenu(x, y, grid) + .catch(e => logError(e)); + } + } + + onLongPressButton(_X, _Y, _x, _y, button, _isShift, _isCtrl, _grid) { + if (button === 3) + this.mainApp.activate_action('displayShellBackgroundMenu', null); + } + + onWidgetDisplayChanged() { + if (this.Prefs.showDesktopWidgets) + this._startWidgetDisplay(); + else + this._stopWidgetDisplay(); + } + + _startWidgetDisplay() { + this.widgetManager + .startWidgetDisplay(this._desktops, {redisplay: true}) + .catch(e => logError(e)); + } + + _stopWidgetDisplay() { + this.widgetManager.stopWidgetDisplay(); + } + + onKeyPress(keyval, keycode, state, grid) { + this.keyEventGrid = grid; + if (this.popupmenu || this.fileItemMenu.popupmenu) + return true; + + if (this.ignoreKeys.includes(keyval)) + return true; + + let key = String.fromCharCode(Gdk.keyval_to_unicode(keyval)); + if (this.keypressTimeoutID && this.searchString) + this.searchString = this.searchString.concat(key); + else + this.searchString = key; + + if (this.searchString !== '') { + let found = this._scanForFiles(this.searchString, false); + if (found) { + if ((this.getNumberOfSelectedItems() >= 1) && + !this.keypressTimeoutID) { + const secondaryText = null; + const helpURL = null; + const timeoutClose = 2000; // In ms + this.showError( + _('Clear current selection before new search'), + secondaryText, + helpURL, + timeoutClose + ); + return true; + } + this.searchEventTime = GLib.get_monotonic_time(); + if (!this.keypressTimeoutID) { + this.keypressTimeoutID = + GLib.timeout_add( + GLib.PRIORITY_DEFAULT, + 1000, + () => { + if (GLib.get_monotonic_time() - + this.searchEventTime < 1500000) + return true; + + this.searchString = null; + this.keypressTimeoutID = null; + + if (this._findFileWindow) { + this._findFileWindow + .response(Gtk.ResponseType.OK); + } + + return false; + }); + } + this.findFiles(this.searchString); + } + return true; + } else { + return false; + } + } + + updateModifierState(state) { + // cache modifier state for use by accelerator-driven handlers + this._lastModifierState = state; + } + + clearModifierState() { + // reset cached modifier state + this._lastModifierState = 0; + } + + closePopUps() { + if (this._renameWindow) { + this._renameWindow.close(); + return true; + } + if (this.dialogCancellable) { + this.dialogCancellable.cancel(); + this.dialogCancellable = null; + return true; + } + return false; + } + + clearAllLayersFromGrids() { + // Icons: clear from all grids + this._displayList.forEach(x => x.removeFromGrid()); + + // Widgets: clear from all grids + this.widgetManager.clearFromGrids(); + } + + async applyDesktopLayoutChange({redisplay, monitorschanged, gridschanged}) { + this._performSanityChecks(); + + // Icons first + await this.reFrameDesktop({ + redisplay, + monitorschanged, + gridschanged, + }); + + await this.widgetManager.applyLayoutChange(this._desktops, {redisplay}); + } + + + // Destktop Icon Placement and Display + // ********************************************************************** */ + + _removeAllFilesFromGrids() { + for (let fileItem of this._displayList) + fileItem.removeFromGrid({callOnDestroy: true}); + + this._displayList = []; + } + + _clearAllFilesFromGrids() { + for (let fileItem of this._displayList) + fileItem.removeFromGrid({callOnDestroy: false}); + + this._displayList = []; + } + + async _drawDesktop(fileList, opts = {initialRead: false}) { + if (this.windowsPromiseResolve || !fileList) + return; + const selectedFiles = this.getCurrentSelectionAsUri(); + + // Update the Icon before placing on Desktop prevent flickering Icons // + const updateUI = fileList.map(async fileItem => { + await fileItem.updateIcon(); + if (selectedFiles) { + if (selectedFiles.includes(fileItem.uri)) + fileItem.setSelected(); + } + }); + await Promise.all([...updateUI]); + + //* Remove all files from the grids just before placing new files to + // prevent flickering icons *// + if (opts.initialRead) + this._removeAllFilesFromGrids(); + else + this._clearAllFilesFromGrids(); + this._displayList = fileList; + + this._placeAllFilesOnGrids(opts); + + //* Detect all Icon sizes are allocated and Icons are now shown and + // placed on Grid. Desktop draw/paint is now complete *// + const drawComplete = this._displayList.map(async fileItem => { + await fileItem.iconPlaced; + }); + await Promise.all([...drawComplete]); + + //* Reposition open Menus, renameFileItem pop up's **// + //* Any task after complete desktop draw can now be done *// + this._refreshMenus(); + } + + _refreshMenus() { + if ((this.newItemDoRename && this.newItemDoRename.size) || + this.fileItemMenu.popupmenu || + this.activeFileItem) { + let activeItem = false; + let newItemDoRename = false; + + this._displayList.forEach(f => { + if (this.activeFileItem && + (f.fileName === this.activeFileItem.fileName)) + this.activeFileItem = activeItem = f; + + if (this.newItemDoRename && + this.newItemDoRename.has(f.fileName)) + newItemDoRename = f; + }); + + if (this._renameWindow) + this._renameWindow.close(); + + if (newItemDoRename) { + newItemDoRename.setSelected(); + const allowReturnOnSameName = true; + this.doRename(newItemDoRename, allowReturnOnSameName) + .catch(e => logError(e)); + } + + if (this.fileItemMenu.popupmenu) { + if (!activeItem) + this.fileItemMenu.popupmenu.popdown(); + } + + if (!activeItem) + this.activeFileItem = null; + } + } + + _placeAllFilesOnGrids(opts = {redisplay: false}) { + if (this.Prefs.keepStacked) { + this.doStacks(opts); + return; + } + if (this.Prefs.keepArranged) { + this.doSorts(opts); + return; + } + let storeMode = this.Enums.StoredCoordinates.PRESERVE; + if (opts.redisplay || + opts.initialRead) { + // write the new recomputed positions to metadata when assigned + storeMode = this.Enums.StoredCoordinates.OVERWRITE; + this._sortByCurrentPosition(); + this._recomputeWindowPositions(); + } + if (opts.gridschanged && !this.Prefs.freePositionIcons) { + // if snap to grid, recompute column, row for fileItems + // so they end up in the same relative grid, otherwise they keep + // shifting postions. This keeps them in the same relative grid + // position. For snap to grid this will apply the new global x,y of + // the grid assigned + this._recomputeGridPositions(); + } + this._addFilesToDesktop(this._displayList, storeMode); + } + + _recomputeGridPositions(fileList) { + if (!fileList) + fileList = this._displayList; + + fileList.forEach(fileItem => { + if (fileItem.savedCoordinates === null) + return; + + if (fileItem._monitorIndex == null) + return; + + const column = fileItem.column; + const row = fileItem.row; + + if (column == null || row == null) + return; + + const index = fileItem._monitorIndex; + const [desktop] = this._desktops.filter(d => { + return d.monitorIndex === index; + }); + + if (!desktop) + return; + + const [newGlobalX, newGlobalY] = + desktop.recomputeGridPosition(column, row); + + fileItem.temporarySavedPosition = [newGlobalX + 2, newGlobalY + 2]; + }); + } + + _recomputeWindowPositions(fileList) { + if (!fileList) + fileList = this._displayList; + + if (!this._desktops.length) + return; + + fileList.forEach(fileItem => { + if (fileItem.savedCoordinates == null) + return; + if (fileItem._normalCoordinates == null) { + fileItem.savedCoordinates = null; + return; + } + if (fileItem._monitorIndex == null) + return; + + const itemMonitorIndex = fileItem._monitorIndex; + let desktop; + + // reassign to monitors + // if on primary monitor, reassign to new primary + if (itemMonitorIndex === this._priorPrimaryMonitorIndex && + this._primaryMonitorIndex != null) { + if (!this.Prefs.showOnSecondaryMonitor) { + [desktop] = this._desktops.filter(d => { + return d.monitorIndex === this._primaryMonitorIndex; + }); + } else { + desktop = this.preferredDisplayDesktop; + } + } + + // reassign not on primary monitor to prior monitor if + // if the prior monitor is still in index + if (!desktop) { + [desktop] = this._desktops.filter(d => { + return d.monitorIndex === itemMonitorIndex; + }); + } + + // reassingn to new monitor, prior monitor not available + if (!desktop) + desktop = this.preferredDisplayDesktop; + + // if any error, leave unmapped to new monitor, placement algorithm + // will find placement from the old global position + if (!desktop) + return; + + fileItem.temporaryMonitorIndex = desktop.monitorIndex; + + // recompute coordinates for the new monitor + const x = fileItem._normalCoordinates[0]; + const y = fileItem._normalCoordinates[1]; + const [newlocalX, newlocalY] = + desktop.setNormalizedCoordinates(x, y); + const [newGlobalX, newGlobalY] = + desktop.coordinatesLocalToGlobal(newlocalX, newlocalY); + fileItem.temporarySavedPosition = [newGlobalX, newGlobalY]; + }); + } + + _addFilesToDesktop(fileList, storeMode) { + let preferredDesktop = this.preferredDisplayDesktop; + if (!preferredDesktop) + return; + let outOfDesktops = []; + let notAssignedYet = []; + let droppedFiles = []; + + // First, add those icons that have saved coordinates + // and fit in the current desktops + for (let fileItem of fileList) { + if (fileItem.savedCoordinates === null) { + if (fileItem.dropCoordinates !== null) + droppedFiles.push(fileItem); + else + notAssignedYet.push(fileItem); + continue; + } + + if (fileItem.dropCoordinates !== null) + fileItem.dropCoordinates = null; + + let [itemX, itemY] = fileItem.savedCoordinates; + let addedToDesktop = false; + + for (let desktop of this._desktops) { + if (desktop + .coordinatesBelongToThisGridWindow(itemX, itemY) && + desktop.isAvailable()) { + addedToDesktop = true; + desktop + .addFileItemCloseTo(fileItem, itemX, itemY, storeMode); + break; + } + } + + if (!addedToDesktop) + outOfDesktops.push(fileItem); + } + + // Now, assign icons that have landed in changed margins, belong to + // monitor and the window, however no longer fit on the grid as + // they overlap margins. + + if (outOfDesktops.length) { + this._addFilesCloseToAssignedDesktop( + outOfDesktops, + storeMode, + preferredDesktop + ); + } + + outOfDesktops = []; + + // Now assign those icons that have dropped coordinates + for (let fileItem of droppedFiles) { + let [x, y] = fileItem.dropCoordinates; + storeMode = this.Enums.StoredCoordinates.OVERWRITE; + let addedToDesktop = false; + + for (let desktop of this._desktops) { + if (desktop.coordinatesBelongToThisGrid(x, y) && + desktop.isAvailable()) { + fileItem.dropCoordinates = null; + desktop.addFileItemCloseTo(fileItem, x, y, storeMode); + addedToDesktop = true; + break; + } + } + + if (!addedToDesktop) + outOfDesktops.push(fileItem); + } + + // Now, try again assign those icons that had dropped coordinates and + // did not fit on dropped desktop, to the preferred or closest desktop + if (outOfDesktops.length) { + this._addFilesCloseToAssignedDesktop( + outOfDesktops, + storeMode, + preferredDesktop + ); + outOfDesktops = []; + } + + // Finally, assign coordinates of preferred desktop to those new icons + // that still don't have coordinates and place on preferred desktop or + // the next closest one + for (let fileItem of notAssignedYet) { + let x = preferredDesktop.gridGlobalRectangle.x; + let y = preferredDesktop.gridGlobalRectangle.y; + storeMode = this.Enums.StoredCoordinates.ASSIGN; + + // try first in the designated desktop + let assigned = false; + if (preferredDesktop.coordinatesBelongToThisGrid(x, y) && + preferredDesktop.isAvailable()) { + preferredDesktop.addFileItemCloseTo(fileItem, x, y, storeMode); + assigned = true; + } + + if (!assigned) + outOfDesktops.push(fileItem); + } + + // if there was no space in the preferred desktop, place on the + // desktop closest to preferred + if (outOfDesktops.length) { + this._addFilesCloseToAssignedDesktop( + outOfDesktops, + storeMode, + preferredDesktop + ); + } + } + + _addFilesCloseToAssignedDesktop(fileList, storeMode, preferredDesktop) { + for (let fileItem of fileList) { + let desktopX; + let x = desktopX = preferredDesktop.gridGlobalRectangle.x; + let desktopY = preferredDesktop.gridGlobalRectangle.y; + + if (fileItem.savedCoordinates) { + x = fileItem.savedCoordinates[0]; + storeMode = this.Enums.StoredCoordinates.ASSIGN; + } else if (fileItem.droppedCoordinates) { + x = fileItem.droppedCoordinates[0]; + storeMode = this.Enums.StoredCoordinates.OVERWRITE; + } + + // Find the closest desktop to given position, is null + // if not available + const newDesktop = this.windowManager.getClosestDesktop(x); + + if (newDesktop) { + desktopX = newDesktop.gridGlobalRectangle.x; + desktopY = newDesktop.gridGlobalRectangle.y; + + if (fileItem.droppedCoordinates) + fileItem.droppedCoordinates = null; + + newDesktop + .addFileItemCloseTo(fileItem, desktopX, desktopY, storeMode); + } else { + console.log('Not enough space to add icons'); + } + } + } + + _unstack() { + if (this.stackInitialCoordinates && this._compositeStackList) { + this._displayList.forEach(f => { + f.removeFromGrid(); + if (f.isStackMarker) + f.onDestroy(); + }); + this._restoreStackInitialCoordinates(); + this._displayList = this._compositeStackList; + this._compositeStackList = null; + + if (this.sortingSubMenu && this.sortingMenu) { + this.sortingSubMenu.prepend_item(this.keepArrangedMenuItem); + this.sortingMenu.prepend_item(this.cleanUpMenuItem); + } + + if (this.Prefs.keepArranged) { + this.doSorts(); + } else { + this._addFilesToDesktop( + this._displayList, + this.Enums.StoredCoordinates.OVERWRITE + ); + } + } + } + + _saveStackInitialCoordinates() { + this.stackInitialCoordinates = []; + for (let fileItem of this._displayList) { + this.stackInitialCoordinates.push({ + fileName: fileItem.fileName, + savedCoordinates: fileItem.savedCoordinates, + _normalCoordinates: fileItem._normalCoordinates, + _monitorIndex: fileItem._monitorIndex, + }); + } + } + + _transformSavedStackInitialCoordinates() { + if (!this.stackInitialCoordinates && + this.stackInitialCoordinates.length) + return; + + this._recomputeWindowPositions(this.stackInitialCoordinates); + + this.stackInitialCoordinates.forEach(o => + (o.savedCoordinates = o.temporarySavedPosition)); + } + + _restoreStackInitialCoordinates() { + if (this.stackInitialCoordinates && + this.stackInitialCoordinates.length) { + this._compositeStackList.forEach(fileItem => { + this.stackInitialCoordinates.forEach(savedItem => { + if (savedItem.fileName === fileItem.fileName) { + fileItem.savedCoordinates = savedItem.savedCoordinates; + fileItem._normalCoordinates = + savedItem._normalCoordinates; + fileItem._monitorIndex = savedItem._monitorIndex; + } + }); + }); + } + + this.stackInitialCoordinates = null; + } + + _makeStackTopMarkerFolder(type, list) { + let stackAttribute = type.split('/')[1]; + let fileItem = new StackItem.StackItem( + this, + stackAttribute, + type, + this.Enums.FileType.STACK_TOP + ); + + list.push(fileItem); + } + + _sortAllFilesFromGridsByKindStacked(opts = {redisplay: false}) { + /** + * Looks through the generated fileItems + */ + function determineStackTopSizeOrTime() { + for (let item of otherFiles) { + if (item.isStackMarker) { + for (let unstackitem of stackedFiles) { + if (item.attributeContentType === + unstackitem.attributeContentType) { + item.size = unstackitem.fileSize; + item.time = unstackitem.modifiedTime; + break; + } + } + } + } + } + + /** + * Sorts fileItems by file size + * + * @param {integer} a the first file size + * @param {integer} b the secondfile size + */ + function bySize(a, b) { + return a.fileSize - b.fileSize; + } + + /** + * Sorts fileItems by time + * + * @param {integer} a the first file timestamp + * @param {integer} b the second file timestamp + */ + function byTime(a, b) { + return a._modifiedTime - b._modifiedTime; + } + + let specialFiles = []; + let directoryFiles = []; + let validDesktopFiles = []; + let otherFiles = []; + let stackedFiles = []; + let newFileList = []; + let stackTopMarkerFolderList = []; + let unstackList = this.Prefs.UnstackList; + + if (this._compositeStackList && opts.redisplay) { + this._displayList.forEach(f => { + if (f.isStackMarker) + f.onDestroy(); + }); + this._displayList = this._compositeStackList; + } + + this._sortByName(this._displayList); + + for (let fileItem of this._displayList) { + if (fileItem.isSpecial) { + specialFiles.push(fileItem); + continue; + } + + if (fileItem.isDirectory) { + directoryFiles.push(fileItem); + continue; + } + + if (fileItem._isValidDesktopFile) { + validDesktopFiles.push(fileItem); + continue; + } else { + let type = fileItem.attributeContentType; + let stacked = false; + + for (let item of otherFiles) { + if (type === item.attributeContentType) { + stackedFiles.push(fileItem); + stacked = true; + } + } + + if (!stacked) { + fileItem.isStackTop = true; + otherFiles.push(fileItem); + } + + continue; + } + } + + for (let a of otherFiles) { + let instack = false; + + for (let c of stackedFiles) { + if (c.attributeContentType === a.attributeContentType) { + instack = true; + break; + } + } + + if (!instack) + a.stackUnique = true; + + continue; + } + + for (let item of otherFiles) { + if (!item.stackUnique) { + this._makeStackTopMarkerFolder( + item.attributeContentType, + stackTopMarkerFolderList + ); + item.isStackTop = false; + stackedFiles.push(item); + } + + if (item.stackUnique) + stackTopMarkerFolderList.push(item); + + item.updateIcon() + .catch(e => console.error(e, 'Error loading stackMarker icon')); + } + + otherFiles = []; + this._sortByName(specialFiles); + this._sortByName(directoryFiles); + this._sortByName(validDesktopFiles); + this._sortByKindByName(stackedFiles); + this._sortByKindByName(stackTopMarkerFolderList); + otherFiles.push(...specialFiles); + otherFiles.push(...validDesktopFiles); + otherFiles.push(...directoryFiles); + otherFiles.push(...stackTopMarkerFolderList); + + switch (this.Prefs.sortOrder) { + case this.Enums.SortOrder.NAME: + this._sortByName(otherFiles); + break; + case this.Enums.SortOrder.DESCENDINGNAME: + this._sortByName(otherFiles); + otherFiles.reverse(); + this._sortByName(stackedFiles); + stackedFiles.reverse(); + break; + case this.Enums.SortOrder.MODIFIEDTIME: + stackedFiles.sort(byTime); + determineStackTopSizeOrTime(); + otherFiles.sort(byTime); + break; + case this.Enums.SortOrder.KIND: + break; + case this.Enums.SortOrder.SIZE: + stackedFiles.sort(bySize); + determineStackTopSizeOrTime(); + otherFiles.sort(bySize); + break; + default: + break; + } + + for (let item of otherFiles) { + newFileList.push(item); + let itemtype = item.attributeContentType; + for (let unstackitem of stackedFiles) { + if (unstackList.includes(unstackitem.attributeContentType) && + (unstackitem.attributeContentType === itemtype)) + newFileList.push(unstackitem); + } + } + + if (this._compositeStackList) + this._compositeStackList = this._displayList; + + this._displayList = newFileList; + } + + _sortByName(fileList) { + /** + * @param {string} a fileItem filename for A + * @param {string} b fileItem filename for B + */ + function byName(a, b) { + // sort by label name instead of the the fileName or displayName so + // that the "Home" folder is sorted in the correct order + // alphabetical sort taking into account accent characters & + // locale, natural language sort for numbers, ie 10.etc before 2.etc + // other options for locale are best fit, or by specifying directly + // in function below for translators + return a._label.get_text() + .localeCompare( + b._label.get_text(), + { + sensitivity: 'accent', + numeric: 'true', + localeMatcher: 'lookup', + } + ); + } + fileList.sort(byName); + } + + _sortByKindByName(fileList) { + /** + * Sort by Kind, then by name + * + * @param {string} a fileItem + * @param {string} b fileItem + */ + function byKindByName(a, b) { + return ( + a.attributeContentType + .localeCompare(b.attributeContentType) || + a._label.get_text() + .localeCompare( + b._label.get_text(), + { + sensitivity: 'accent', + numeric: 'true', + localeMatcher: 'lookup', + } + ) + ); + } + fileList.sort(byKindByName); + } + + _sortAllFilesFromGridsByName(order) { + this._sortByName(this._displayList); + if (order === this.Enums.SortOrder.DESCENDINGNAME) + this._displayList.reverse(); + + this._reassignFilesToDesktop(); + } + + _sortByOriginalPosition() { + let cornerInversion = this.Prefs.StartCorner; + if (!cornerInversion[0] && !cornerInversion[1]) { + this._displayList.sort((a, b) => { + if (a.X < b.X) + return -1; + if (a.X > b.X) + return 1; + if (a.Y < b.Y) + return -1; + if (a.Y > b.Y) + return 1; + return 0; + }); + } + if (cornerInversion[0] && cornerInversion[1]) { + this._displayList.sort((a, b) => { + if (a.X < b.X) + return 1; + if (a.X > b.X) + return -1; + if (a.Y < b.Y) + return 1; + if (a.Y > b.Y) + return -1; + return 0; + }); + } + if (cornerInversion[0] && !cornerInversion[1]) { + this._displayList.sort((a, b) => { + if (a.X < b.X) + return 1; + if (a.X > b.X) + return -1; + if (a.Y < b.Y) + return -1; + if (a.Y > b.Y) + return 1; + return 0; + }); + } + if (!cornerInversion[0] && cornerInversion[1]) { + this._displayList.sort((a, b) => { + if (a.X < b.X) + return -1; + if (a.X > b.X) + return 1; + if (a.Y < b.Y) + return 1; + if (a.Y > b.Y) + return -1; + return 0; + }); + } + } + + _sortByCurrentPosition() { + let cornerInversion = this.Prefs.StartCorner; + if (!cornerInversion[0] && !cornerInversion[1]) { + this._displayList.sort((a, b) => { + if (a.x < b.x) + return -1; + if (a.x > b.x) + return 1; + if (a.y < b.y) + return -1; + if (a.y > b.y) + return 1; + return 0; + }); + } + if (cornerInversion[0] && cornerInversion[1]) { + this._displayList.sort((a, b) => { + if (a.x < b.x) + return 1; + if (a.x > b.x) + return -1; + if (a.y < b.y) + return 1; + if (a.y > b.y) + return -1; + return 0; + }); + } + if (cornerInversion[0] && !cornerInversion[1]) { + this._displayList.sort((a, b) => { + if (a.x < b.x) + return 1; + if (a.x > b.x) + return -1; + if (a.y < b.y) + return -1; + if (a.y > b.y) + return 1; + return 0; + }); + } + if (!cornerInversion[0] && cornerInversion[1]) { + this._displayList.sort((a, b) => { + if (a.x < b.x) + return -1; + if (a.x > b.x) + return 1; + if (a.y < b.y) + return 1; + if (a.y > b.y) + return -1; + return 0; + }); + } + } + + _reassignFilesToDesktop() { + if (!this.Prefs.sortSpecialFolders) { + this._reassignFilesToDesktopPreserveSpecialFiles(); + return; + } + + for (let fileItem of this._displayList) { + fileItem.temporarySavedPosition = null; + fileItem.dropCoordinates = null; + } + + this._addFilesToDesktop( + this._displayList, + this.Enums.StoredCoordinates.ASSIGN + ); + } + + _reassignFilesToDesktopPreserveSpecialFiles() { + let specialFiles = []; + let otherFiles = []; + let newFileList = []; + + for (let fileItem of this._displayList) { + if (fileItem._isSpecial) { + specialFiles.push(fileItem); + continue; + } + + if (!fileItem._isSpecial) { + otherFiles.push(fileItem); + fileItem.temporarySavedPosition = null; + fileItem.dropCoordinates = null; + continue; + } + } + + newFileList.push(...specialFiles); + newFileList.push(...otherFiles); + + if (this._displayList.length === newFileList.length) + this._displayList = newFileList; + + this._addFilesToDesktop( + this._displayList, + this.Enums.StoredCoordinates.PRESERVE + ); + } + + // Desktop Manager Main methods + // ********************************************************************** */ + + + findFiles(text) { + if (this._findFileWindow) { + this._findFileWindow.present(); + return; + } + + const activeWindow = this.mainApp.get_active_window(); + this._findFileWindow = new Gtk.Dialog({ + use_header_bar: true, + resizable: false, + }); + this._findFileButton = + this._findFileWindow.add_button(_('OK'), Gtk.ResponseType.OK); + this._findFileButton.sensitive = false; + this._findFileWindow.add_button(_('Cancel'), Gtk.ResponseType.CANCEL); + this._findFileWindow.set_modal(true); + this._findFileWindow.set_title(_('Find Files on Desktop')); + const modal = true; + this.DesktopIconsUtil + .windowHidePagerTaskbarModal(this._findFileWindow, modal); + this._findFileWindow.set_transient_for(activeWindow); + let contentArea = this._findFileWindow.get_content_area(); + this._findFileTextArea = new Gtk.Entry(); + this._findFileTextArea.set_margin_top(5); + this._findFileTextArea.set_margin_bottom(5); + this._findFileTextArea.set_margin_start(5); + this._findFileTextArea.set_margin_end(5); + contentArea.append(this._findFileTextArea); + contentArea.set_homogeneous(true); + contentArea.set_baseline_position(Gtk.BaselinePosition.CENTER); + + this._findFileTextArea.connect('activate', () => { + if (this._findFileButton.sensitive) + this._findFileWindow.response(Gtk.ResponseType.OK); + }); + + this._findFileTextArea.connect('changed', () => { + let context = this._findFileTextArea.get_style_context(); + + if (this._scanForFiles(this._findFileTextArea.text, true)) { + this._findFileButton.sensitive = true; + + if (context.has_class('not-found')) + context.remove_class('not-found'); + } else { + this._findFileButton.sensitive = false; + this._findFileTextArea.error_bell(); + + if (!context.has_class('not-found')) + context.add_class('not-found'); + } + + this.searchEventTime = GLib.get_monotonic_time(); + }); + + this._findFileTextArea.grab_focus_without_selecting(); + + if (text) { + this._findFileTextArea.set_text(text); + this._findFileTextArea.set_position(text.length); + } else { + this._scanForFiles(null); + } + + this._findFileWindow.show(); + + this.mainApp.activate_action('textEntryAccelsTurnOff', null); + + this._findFileWindow.connect('close', () => { + this._findFileWindow.response(Gtk.ResponseType.CANCEL); + }); + + this._findFileWindow.connect('response', (actor, retval) => { + if (retval === Gtk.ResponseType.CANCEL) + this.unselectAll(); + + this.mainApp.activate_action('textEntryAccelsTurnOn', null); + this._displayList.forEach(f => (f.opacity = 1)); + this._findFileWindow.destroy(); + this._findFileWindow = null; + }); + } + + _scanForFiles(text, setselected) { + let found = []; + if (text && (text !== '')) { + const lowerCaseText = text.toLowerCase(); + found = + this._displayList.filter( + f => { + const lowerCaseFilename = f.fileName.toLowerCase(); + const lowerCaseLabel = + f._label.get_text().toLowerCase(); + + return ( + lowerCaseFilename.includes(lowerCaseText) || + lowerCaseLabel.includes(lowerCaseText) + ); + } + ); + } + + if (found.length !== 0) { + if (setselected) { + this.unselectAll(); + const notfound = this._displayList.filter( + f => !found.includes(f) + ); + found.forEach(f => { + f.setSelected(); + f.opacity = 1; + }); + notfound.forEach(f => (f.opacity = 0.2)); + } + return true; + } else { + this.unselectAll(); + return false; + } + } + + sortAllFilesFromGridsByPosition() { + if (this.Prefs.keepArranged) + return; + + this._displayList.map(f => f.removeFromGrid({callOnDestroy: false})); + this._sortByCurrentPosition(); + this._reassignFilesToDesktop(); + } + + _sortAllFilesFromGridsByModifiedTime() { + /** + * @param {integer} a fileItem file modified time + * @param {integer} b fileItem file modified time + */ + function byTime(a, b) { + return a._modifiedTime - b._modifiedTime; + } + this._displayList.sort(byTime); + this._reassignFilesToDesktop(); + } + + _sortAllFilesFromGridsBySize() { + /** + * @param {integer} a fileItem fileSize + * @param {integer} b fileItem fileSize + */ + function bySize(a, b) { + return a.fileSize - b.fileSize; + } + this._displayList.sort(bySize); + this._reassignFilesToDesktop(); + } + + _sortAllFilesFromGridsByKind() { + let specialFiles = []; + let directoryFiles = []; + let validDesktopFiles = []; + let otherFiles = []; + let newFileList = []; + for (let fileItem of this._displayList) { + if (fileItem._isSpecial) { + specialFiles.push(fileItem); + continue; + } + if (fileItem._isDirectory) { + directoryFiles.push(fileItem); + continue; + } + if (fileItem._isValidDesktopFile) { + validDesktopFiles.push(fileItem); + continue; + } else { + otherFiles.push(fileItem); + continue; + } + } + this._sortByName(specialFiles); + this._sortByName(directoryFiles); + this._sortByName(validDesktopFiles); + this._sortByKindByName(otherFiles); + newFileList.push(...specialFiles); + newFileList.push(...validDesktopFiles); + newFileList.push(...directoryFiles); + newFileList.push(...otherFiles); + if (this._displayList.length === newFileList.length) + this._displayList = newFileList; + + this._reassignFilesToDesktop(); + } + + doSorts(opts = {redisplay: false}) { + if (opts.redisplay) + this._displayList.map(f => f.removeFromGrid()); + + switch (this.Prefs.sortOrder) { + case this.Enums.SortOrder.NAME: + this._sortAllFilesFromGridsByName(); + break; + case this.Enums.SortOrder.DESCENDINGNAME: + this._sortAllFilesFromGridsByName( + this.Enums.SortOrder.DESCENDINGNAME); + break; + case this.Enums.SortOrder.MODIFIEDTIME: + this._sortAllFilesFromGridsByModifiedTime(); + break; + case this.Enums.SortOrder.KIND: + this._sortAllFilesFromGridsByKind(); + break; + case this.Enums.SortOrder.SIZE: + this._sortAllFilesFromGridsBySize(); + break; + default: + this._addFilesToDesktop( + this._displayList, + this.Enums.StoredCoordinates.PRESERVE + ); + break; + } + } + + doStacks(opts = {redisplay: false}) { + if (opts.redisplay) { + for (let fileItem of this._displayList) + fileItem.removeFromGrid(); + } + + if (!this.stackInitialCoordinates && !this._compositeStackList) { + this._compositeStackList = []; + this._saveStackInitialCoordinates(); + if (this.sortingSubMenu && this.sortingMenu) { + this.sortingSubMenu.remove(0); + this.sortingMenu.remove(0); + } + opts.redisplay = false; + } + + if ((opts.monitorschanged || + opts.initialRead) && + this.stackInitialCoordinates) + this._transformSavedStackInitialCoordinates(); + + + this._sortAllFilesFromGridsByKindStacked(opts); + + this._reassignFilesToDesktop(); + } + + unselectAll() { + this._displayList.forEach(f => { + f.unsetSelected(); + f.keyboardUnSelected(); + f.opacity = 1; + }); + this.desktopActions.lastAnchorSelected = null; + this.fileItemMenu.activeFileItem = null; + } + + getCurrentSelection() { + const selectedList = this._displayList.filter(f => f.isSelected); + + if (selectedList.length) + return selectedList; + + return null; + } + + getCurrentSelectionAsUri() { + return this.getCurrentSelection()?.map(f => f.uri); + } + + getNumberOfSelectedItems() { + const count = this.getCurrentSelection(); + + if (count) + return count.length; + + return 0; + } + + checkIfSpecialFilesAreSelected() { + for (let item of this._displayList) { + if (item.isSelected && item.isSpecial) + return true; + } + + return false; + } + + checkIfDirectoryIsSelected() { + for (let item of this._displayList) { + if (item.isSelected && item.isDirectory) + return true; + } + + return false; + } + + async doRename(fileItem, allowReturnOnSameName = false) { + const selection = this.getCurrentSelection(); + + if (!(selection && (selection.length === 1))) + return; + + if (fileItem === null) { + fileItem = selection[0]; + allowReturnOnSameName = false; + } + + if (!fileItem.canRename) + return; + + if (!this._renameWindow) { + this.mainApp.activate_action('textEntryAccelsTurnOff', null); + + if (!this.newItemDoRename) + this.newItemDoRename = new Set(); + + this.newItemDoRename.add(fileItem.fileName); + + if (this.desktopMenuManager.popupmenu) { + await this.desktopMenuManager.menuclosed() + .catch(e => logError(e)); + } + + if (this.fileItemMenu.popupmenu) + await this.fileItemMenu.menuclosed().catch(e => logError(e)); + + this._renameWindow = new AskRenamePopup.AskRenamePopup( + fileItem, + allowReturnOnSameName, + () => { + this.mainApp.get_active_window().grab_focus(); + this.mainApp.activate_action('textEntryAccelsTurnOn', null); + if (this.newItemDoRename) + this.newItemDoRename.delete(fileItem.fileName); + this._renameWindow = null; + }, + this.dragManager.setPendingDropCoordinates.bind(this), + { + FileUtils: this.FileUtils, + DesktopIconsUtil: this.DesktopIconsUtil, + DBusUtils: this.DBusUtils, + } + ); + } + } + + async doNewFolder( + position = null, + suggestedName = null, + opts = {rename: true} + ) { + this.unselectAll(); + + if (!position) + position = [this._clickX, this._clickY]; + + + const baseName = suggestedName ? suggestedName : _('New Folder'); + let newName = this.desktopMonitor.getDesktopUniqueFileName(baseName); + + if (newName) { + const dir = this._desktopDir.get_child(newName); + + try { + await dir.make_directory_async(GLib.PRIORITY_DEFAULT, null); + + const info = new Gio.FileInfo(); + info.set_attribute_string( + 'metadata::nautilus-drop-position', + `${position.join(',')}` + ); + info.set_attribute_string( + 'metadata::desktop-icon-position', + '' + ); + info.set_attribute_uint32(Gio.FILE_ATTRIBUTE_UNIX_MODE, 0o700); + + try { + await dir.set_attributes_async(info, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_LOW, + null); + } catch (e) { + console.error( + e, `Failed to set attributes to ${dir.get_path()}`); + } + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) + this._performSanityChecks(); + else + console.error(e, `Failed to create folder ${e.message}`); + const header = _('Folder Creation Failed'); + const text = _('Could not create folder'); + this.dbusManager.doNotify(header, text); + if (position || suggestedName) + return null; + + return null; + } + + if (opts.rename) { + if (!this.newItemDoRename) + this.newItemDoRename = new Set(); + + this.newItemDoRename.add(newName); + } + + if (position || suggestedName) + return dir.get_uri(); + } + + return null; + } + + async redrawDesktop() { + // fileList is not changed, we just need to render the desktop again + // with changes in icon color, emblem, appearance, theme change etc. + const opts = {initialRead: false, redisplay: true}; + const fileList = this.desktopMonitor.fileList; + + await this._drawDesktop(fileList, opts).catch(e => { + console.error( + `Error while redrawing desktop: ${e.message}\n${e.stack}` + ); + }); + } + + async reLoadDesktop() { + await this.desktopMonitor.reLoadFileList(); + } + + async refreshDesktop() { + // fileList is changed, we need to render the desktop again + // with latest fileList from the desktopMonitor. The position of the + // icons is also recomputed from the normalized coordinates. + const opts = {initialRead: true}; + const fileList = this.desktopMonitor.fileList; + + await this._drawDesktop(fileList, opts).catch(e => { + console.error(`Error while refreshing desktop: ${e.message}`); + }); + } + + async reFrameDesktop(opts) { + // fileList is not changed, grids changed, monitor added, removed, + // monitor geometry, zoom, or index changed. + // We need to recompute the position of the icons + // from the normalized coordinates and redraw the desktop and reassign + // the icons to the correct grid and monitors + const fileList = this.desktopMonitor.fileList; + + await this._drawDesktop(fileList, opts).catch(e => { + console.error(`Error while reframing desktop: ${e.message}`); + }); + } + + onMutterSettingsChanged() { + this.windowManager.requestGeometryUpdate(); + } + + async onGtkSettingsChanged() { + await this.desktopMonitor.getFileList(); + await this.reLoadDesktop().catch(e => { + console.log('Exception while updating desktop after the hidden ' + + `settings changed: ${e.message}\n${e.stack}`); + }); + this.desktopMenuManager.updateTemplates(); + } + + onKeepArrangedChanged() { + if (this.Prefs.keepArranged) + this.doSorts({redisplay: true}); + } + + onUnstackedTypesChanged() { + if (this.Prefs.keepStacked) + this.doStacks({redisplay: true}); + } + + onkeepStackedChanged() { + if (!this.Prefs.keepStacked) + this._unstack(); + else + this.doStacks({redisplay: true}); + } + + onSortOrderChanged() { + if (this.Prefs.keepStacked) + this.doStacks({redisplay: true}); + else + this.doSorts({redisplay: true}); + } + + onIconSizeChanged() { + this._displayList.forEach(x => x.removeFromGrid()); + for (let desktop of this._desktops) + desktop.resizeGrid(); + this.reLoadDesktop().catch(e => { + console.log('Exception while reloading desktop after icon ' + + `size change: ${e.message}\n${e.stack}`); + }); + } + + onDarkModeChanged() { + this.widgetManager.onThemeChanged(); + } + + onAnimationChanged() { + this.widgetManager.onAnimationChanged(); + } + + // Getters and Setters + + get _desktopDir() { + return this.desktopMonitor.desktopDir; + } + + get fractionalScaling() { + return this.Prefs.fractionalScaling; + } + + set fractionalScaling(boolean) { + this.Prefs.fractionalScaling = boolean; + } + + get _desktops() { + return this.windowManager.desktops; + } + + get _primaryMonitorIndex() { + return this.windowManager.primaryMonitorIndex; + } + + get _priorPrimaryMonitorIndex() { + return this.windowManager.priorPrimaryMonitorIndex; + } + + get preferredDisplayDesktop() { + return this.windowManager.preferredDisplayDesktop; + } + + get templatesMonitor() { + return this.desktopActions.templatesMonitor; + } + + get currentWorkingList() { + let currentCompleteList; + if (this._compositeStackList && (this._compositeStackList.length > 0)) + currentCompleteList = this._compositeStackList; + else + currentCompleteList = this._displayList; + + return currentCompleteList; + } + + get activeFileItem() { + return this.fileItemMenu.activeFileItem; + } + + set activeFileItem(fileItem) { + this.fileItemMenu.activeFileItem = fileItem; + } + + get pendingDropFiles() { + return this.dragManager.pendingDropFiles; + } + + set pendingDropFiles(object) { + this.dragManager.pendingDropFiles = object; + } + + get pendingSelfCopyFiles() { + return this.dragManager.pendingSelfCopyFiles; + } + + set pendingSelfCopyFiles(object) { + this.dragManager.pendingSelfCopyFiles = object; + } + + get writableByOthers() { + return this.desktopMonitor._writableByOthers; + } + + get modifierMode() { + return { + state: this._lastModifierState, + ctrl: (this._lastModifierState & Gdk.ModifierType.CONTROL_MASK) !== 0, + shift: (this._lastModifierState & Gdk.ModifierType.SHIFT_MASK) !== 0, + alt: (this._lastModifierState & Gdk.ModifierType.ALT_MASK) !== 0, + }; + } +}; diff --git a/ding/app/desktopMenu.js b/ding/app/desktopMenu.js new file mode 100644 index 0000000..241dc62 --- /dev/null +++ b/ding/app/desktopMenu.js @@ -0,0 +1,1191 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Adw/Gtk4 Port Copyright (C) 2025 Sundeep Mediratta (smedius@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 . + */ + +import {Gdk, Gio, GLib, Gtk, DesktopAppInfo} from '../dependencies/gi.js'; +import {_} from '../dependencies/gettext.js'; + +export {DesktopActions}; +export {DesktopBackgroundMenu}; + +const DesktopActions = class { + constructor(desktopManager) { + this._desktopManager = desktopManager; + this._Prefs = desktopManager.Prefs; + this._mainApp = desktopManager.mainApp; + this._DBusUtils = desktopManager.DBusUtils; + this._dbusManager = desktopManager.dbusManager; + this._dragManager = desktopManager.dragManager; + this._DesktopIconsUtil = desktopManager.DesktopIconsUtil; + this._fileItemMenu = desktopManager.fileItemMenu; + this._Enums = desktopManager.Enums; + this._desktopMonitor = desktopManager.desktopMonitor; + this._windowManager = desktopManager.windowManager; + this.lastAnchorSelected = null; + this._isCut = false; + this._clipboardFiles = null; + this._intDBusSignalMonitoring(); + this._createMenuActionGroup(); + } + + // Create the menu action group + // and add the actions to the main app + // and set the accelerators + // for the actions + + _createMenuActionGroup() { + const newFolder = Gio.SimpleAction.new('doNewFolder', null); + newFolder.connect('activate', () => { + this._desktopManager.doNewFolder().catch(e => console.error(e)); + }); + this._mainApp.add_action(newFolder); + + this.doPasteSimpleAction = Gio.SimpleAction.new('doPaste', null); + this.doPasteSimpleAction.connect( + 'activate', + async () => { + try { + if (!(this._desktopManager.popupmenu || + this._desktopManager.fileItemMenu.popupmenu)) + await this._updateClipboard().catch(e => logError(e)); + + this._doPaste(); + } catch (e) { + console.error(e, 'Paste action failed'); + } + } + ); + this._mainApp.add_action(this.doPasteSimpleAction); + + this.doUndoSimpleAction = Gio.SimpleAction.new('doUndo', null); + this.doUndoSimpleAction.connect( + 'activate', + () => this._doUndo() + ); + this._mainApp.add_action(this.doUndoSimpleAction); + + this.doRedoSimpleAction = Gio.SimpleAction.new('doRedo', null); + this.doRedoSimpleAction.connect( + 'activate', + () => this._doRedo() + ); + this._mainApp.add_action(this.doRedoSimpleAction); + + const selectAll = Gio.SimpleAction.new('selectAll', null); + selectAll.connect( + 'activate', + () => this._selectAll() + ); + this._mainApp.add_action(selectAll); + + const showDesktopInFiles = + Gio.SimpleAction.new('showDesktopInFiles', null); + showDesktopInFiles.connect( + 'activate', + () => this._onOpenDesktopInFilesClicked().catch(e => logError(e)) + ); + this._mainApp.add_action(showDesktopInFiles); + + const openDesktopInTerminal = Gio.SimpleAction.new('openDesktopInTerminal', null); + openDesktopInTerminal.connect( + 'activate', + this._onOpenTerminalClicked.bind(this) + ); + this._mainApp.add_action(openDesktopInTerminal); + + const changeBackGround = Gio.SimpleAction.new('changeBackGround', null); + changeBackGround.connect( + 'activate', + () => { + const desktopFile = + DesktopAppInfo.new('gnome-background-panel.desktop'); + const context = + Gdk.Display.get_default().get_app_launch_context(); + context.set_timestamp(Gdk.CURRENT_TIME); + desktopFile.launch([], context); + } + ); + this._mainApp.add_action(changeBackGround); + + const changeDisplaySettings = + Gio.SimpleAction.new('changeDisplaySettings', null); + changeDisplaySettings.connect( + 'activate', + () => { + const desktopFile = + DesktopAppInfo.new('gnome-display-panel.desktop'); + const context = + Gdk.Display.get_default().get_app_launch_context(); + context.set_timestamp(Gdk.CURRENT_TIME); + desktopFile.launch([], context); + } + ); + this._mainApp.add_action(changeDisplaySettings); + + const changeDesktopIconSettings = + Gio.SimpleAction.new('changeDesktopIconSettings', null); + changeDesktopIconSettings.connect( + 'activate', + this._showPreferences.bind(this) + ); + this._mainApp.add_action(changeDesktopIconSettings); + + const cleanUpIconsAction = + Gio.SimpleAction.new('cleanUpIcons', null); + cleanUpIconsAction.connect( + 'activate', + () => this._desktopManager.sortAllFilesFromGridsByPosition() + ); + this._mainApp.add_action(cleanUpIconsAction); + + const keepArrangedAction = + this._Prefs.desktopSettings.create_action('keep-arranged'); + this._mainApp.add_action(keepArrangedAction); + this._Prefs.desktopSettings.bind( + 'keep-arranged', + cleanUpIconsAction, + 'enabled', + 16 + ); + + this._mainApp.add_action( + this._Prefs.desktopSettings.create_action('keep-stacked')); + + this._mainApp.add_action( + this._Prefs.desktopSettings.create_action('sort-special-folders')); + + const radioArrangeAction = Gio.SimpleAction.new_stateful( + 'arrangeaction', + GLib.VariantType.new('s'), + GLib.Variant.new_string(this._Prefs.desktopSettings.get_string( + this._Enums.SortOrder.ORDER)) + ); + radioArrangeAction.connect('change-state', + this._syncArrangeOrder.bind(this)); + this._mainApp.add_action(radioArrangeAction); + this.arrangeAction = radioArrangeAction; + + const arrangeByName = Gio.SimpleAction.new('arrangeByName', null); + arrangeByName.connect( + 'activate', + () => this._mainApp.activate_action( + 'arrangeaction', + new GLib.Variant('s', 'NAME') + ) + ); + this._mainApp.add_action(arrangeByName); + + const arrangeByDescendingName = + Gio.SimpleAction.new('arrangeByDescendingName', null); + arrangeByDescendingName.connect( + 'activate', + () => this._mainApp.activate_action( + 'arrangeaction', + new GLib.Variant('s', 'DESCENDINGNAME') + ) + ); + this._mainApp.add_action(arrangeByDescendingName); + + const arrangeByModifiedTime = + Gio.SimpleAction.new('arrangeByModifiedTime', null); + arrangeByModifiedTime.connect( + 'activate', + () => this._mainApp.activate_action( + 'arrangeaction', + new GLib.Variant('s', 'MODIFIEDTIME') + ) + ); + this._mainApp.add_action(arrangeByModifiedTime); + + const arrangeByKind = Gio.SimpleAction.new('arrangeByKind', null); + arrangeByKind.connect( + 'activate', + () => this._mainApp.activate_action( + 'arrangeaction', + new GLib.Variant('s', 'KIND') + ) + ); + this._mainApp.add_action(arrangeByKind); + + const arrangeBySize = Gio.SimpleAction.new('arrangeBySize', null); + arrangeBySize.connect( + 'activate', + () => this._mainApp.activate_action( + 'arrangeaction', + new GLib.Variant('s', 'SIZE') + ) + ); + this._mainApp.add_action(arrangeBySize); + + const findFilesAction = Gio.SimpleAction.new('findFiles', null); + findFilesAction.connect( + 'activate', + () => this._desktopManager.findFiles(null) + ); + this._mainApp.add_action(findFilesAction); + + const updateDesktop = Gio.SimpleAction.new('updateDesktop', null); + updateDesktop.connect( + 'activate', + async () => { + await this._desktopManager.reLoadDesktop().catch(e => { + console.log( + `Exception while updating desktop after pressing "F5": + ${e.message}\n${e.stack}`); + }); + } + ); + this._mainApp.add_action(updateDesktop); + + const showHideHiddenFiles = + Gio.SimpleAction.new('showHideHiddenFiles', null); + showHideHiddenFiles.connect( + 'activate', + () => { + this._Prefs.gtkSettings.set_boolean('show-hidden', + !this._Prefs.showHidden); + } + ); + this._mainApp.add_action(showHideHiddenFiles); + + const unselectAll = Gio.SimpleAction.new('unselectAll', null); + unselectAll.connect( + 'activate', + () => { + this._desktopManager.unselectAll(); + if (this.searchString) + this.searchString = null; + } + ); + this._mainApp.add_action(unselectAll); + + const previewAction = Gio.SimpleAction.new('previewAction', null); + previewAction.connect('activate', () => { + if (this._desktopManager.popupmenu || + this._desktopManager.fileItemMenu.popupmenu || + !this.activeFileItem) + return; + const RemoteOperation = + this._DBusUtils.RemoteFileOperations; + RemoteOperation.ShowFileRemote(this.activeFileItem.uri, 0, true); + }); + this._mainApp.add_action(previewAction); + + const toggleKeyboardSelection = + Gio.SimpleAction.new('toggleKeyboardSelection', null); + toggleKeyboardSelection.connect('activate', () => { + this._toggleKeyboardSelection(); + }); + this._mainApp.add_action(toggleKeyboardSelection); + + const chooseIconLeft = Gio.SimpleAction.new('chooseIconLeft', null); + chooseIconLeft.connect('activate', () => { + this._selectFileItemInDirection(Gdk.KEY_Left); + }); + this._mainApp.add_action(chooseIconLeft); + + const chooseIconRight = Gio.SimpleAction.new('chooseIconRight', null); + chooseIconRight.connect('activate', () => { + this._selectFileItemInDirection(Gdk.KEY_Right); + }); + this._mainApp.add_action(chooseIconRight); + + const chooseIconUp = Gio.SimpleAction.new('chooseIconUp', null); + chooseIconUp.connect('activate', () => { + this._selectFileItemInDirection(Gdk.KEY_Up); + }); + this._mainApp.add_action(chooseIconUp); + + const chooseIconDown = Gio.SimpleAction.new('chooseIconDown', null); + chooseIconDown.connect('activate', () => { + this._selectFileItemInDirection(Gdk.KEY_Down); + }); + this._mainApp.add_action(chooseIconDown); + + const menuKeyPressed = Gio.SimpleAction.new('menuKeyPressed', null); + menuKeyPressed.connect('activate', () => { + this._menuKeyPressed(); + }); + this._mainApp.add_action(menuKeyPressed); + + const displayShellBackgroundMenu = + Gio.SimpleAction.new('displayShellBackgroundMenu', null); + displayShellBackgroundMenu.connect('activate', () => { + this._DBusUtils.RemoteExtensionControl.showShellBackgroundMenu(); + }); + this._mainApp.add_action(displayShellBackgroundMenu); + + const createDesktopShortcut = new Gio.SimpleAction({ + name: 'createDesktopShortcut', + parameter_type: new GLib.VariantType('a{sv}'), + }); + createDesktopShortcut.connect('activate', (action, parameter) => { + this._createDesktopShortcut(parameter.recursiveUnpack()); + }); + this._mainApp.add_action(createDesktopShortcut); + + const textEntryAccelsTurnOff = + Gio.SimpleAction.new('textEntryAccelsTurnOff', null); + textEntryAccelsTurnOff.connect('activate', () => { + this._textEntryAccelsTurnOff(); + }); + this._mainApp.add_action(textEntryAccelsTurnOff); + + const newDocument = + Gio.SimpleAction.new('newDocument', new GLib.VariantType('s')); + newDocument.connect('activate', (action, parameter) => { + this._newDocument(parameter.deep_unpack()); + }); + this._mainApp.add_action(newDocument); + + const showShortcutViewer = + Gio.SimpleAction.new('showShortcutViewer', null); + showShortcutViewer.connect('activate', () => { + this._showShortcutViewer(); + }); + this._mainApp.add_action(showShortcutViewer); + + const toggleVisibility = + Gio.SimpleAction.new('toggleVisibility', null); + toggleVisibility.connect('activate', () => { + this._windowManager.toggleVisibility(); + }); + this._mainApp.add_action(toggleVisibility); + } + + _updateClipboard() { + return new Promise(resolve => { + const clipboard = Gdk.Display.get_default().get_clipboard(); + this._isCut = false; + this._clipboardFiles = null; + /* + * Before Gnome Shell 40, St API couldn't access binary data in the + * clipboard, only text data. Also, the original Desktop Icons was a + * pure extension, so it was limited to what Clutter and St offered. + * That was the reason why Nautilus accepted a text format for CUT + * and COPY operations in the form + * + * x-special/nautilus-clipboard + * OPERATION + * FILE_URI + * [FILE_URI] + * [...] + * + * In Gnome Shell 40, St was enhanced and now it supports binary + * data; that's why Nautilus migrated to a binary format identified + * by the atom 'x-special/gnome-copied-files', where the CUT or COPY + * operation is shared. + * + * To maintain compatibility, we first check if there's binary data + * in that atom, and if not, we check if there is text data in the + * old format. + */ + let text = null; + const textDecoder = new TextDecoder(); + if (clipboard.get_formats()) { + const mimetypes = clipboard.get_formats().to_string(); + if (mimetypes.includes('x-special/gnome-copied-files')) { + try { + clipboard.read_async(['x-special/gnome-copied-files'], + GLib.PRIORITY_DEFAULT, + null, (actor, result) => { + try { + const success = actor.read_finish(result); + + const bytes = + success[0].read_bytes(8192, null); + + text = textDecoder.decode(bytes.get_data()); + + text = + 'x-special/nautilus-clipboard\n' + + `${text}\n`; + + this._setClipboardContent(text); + resolve(true); + } catch (e) { + console.log( + 'Exception while reading clipboard:' + + `${e.message}\n${e.stack}` + ); + + this._setClipboardContent(text); + resolve(false); + } + }); + } catch (e) { + console.log( + `Exception while reading clipboard mimetype + x-special/gnome-copied-files: + ${e.message}\n${e.stack}` + ); + + this._setClipboardContent(text); + resolve(false); + } + } else if (mimetypes.includes('text/plain')) { + try { + clipboard.read_async(['text/plain'], + GLib.PRIORITY_DEFAULT, + null, + (actor, result) => { + try { + const success = actor.read_finish(result); + + const bytes = + success[0].read_bytes(8192, null); + + text = textDecoder.decode(bytes.get_data()); + + if (text && !text.endsWith('\n')) + text += '\n'; + + this._setClipboardContent(text); + resolve(true); + } catch (e) { + this._setClipboardContent(text); + resolve(false); + } + }); + } catch (e) { + console.log( + 'Exception while reading clipboard media-type ' + + `"text/plain": ${e.message}\n${e.stack}` + ); + + this._setClipboardContent(text); + resolve(false); + } + } else { + this._setClipboardContent(text); + resolve(false); + } + } else { + this._setClipboardContent(text); + resolve(false); + } + }); + } + + _intDBusSignalMonitoring() { + const fileOperationsManager = + this._DBusUtils.RemoteFileOperations.fileOperationsManager; + + fileOperationsManager.connectToProxy( + 'g-properties-changed', + this._undoStatusChanged.bind(this) + ); + + fileOperationsManager.connect('changed-status', + (actor, available) => { + if (available) + this._syncUndoRedo(); + else + this._syncUndoRedo(true); + } + ); + + if (fileOperationsManager.isAvailable) + this._syncUndoRedo(); + } + + _setClipboardContent(text) { + const [valid, isCut, files] = this._parseClipboardText(text); + if (valid) { + this._isCut = isCut; + this._clipboardFiles = files; + } + this.doPasteSimpleAction.set_enabled(valid); + } + + _parseClipboardText(text) { + if (text === null) + return [false, false, null]; + + const lines = text.split('\n'); + const [mime, action, ...files] = lines; + + if (mime !== 'x-special/nautilus-clipboard') + return [false, false, null]; + if (!['copy', 'cut'].includes(action)) + return [false, false, null]; + const 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]; + } + + _syncUndoRedo(hide = false) { + if (hide) { + this.doUndoSimpleAction.set_enabled(false); + this.doRedoSimpleAction.set_enabled(false); + return; + } + + switch (this._DBusUtils.RemoteFileOperations.UndoStatus()) { + case this._Enums.UndoStatus.UNDO: + this.doUndoSimpleAction.set_enabled(true); + this.doRedoSimpleAction.set_enabled(false); + break; + case this._Enums.UndoStatus.REDO: + this.doUndoSimpleAction.set_enabled(false); + this.doRedoSimpleAction.set_enabled(true); + break; + default: + this.doUndoSimpleAction.set_enabled(false); + this.doRedoSimpleAction.set_enabled(false); + break; + } + } + + _undoStatusChanged(proxy, properties) { + if ('UndoStatus' in properties.deep_unpack()) + this._syncUndoRedo(); + } + + _doUndo() { + this._DBusUtils.RemoteFileOperations.UndoRemote(); + } + + _doRedo() { + this._DBusUtils.RemoteFileOperations.RedoRemote(); + } + + _doPaste() { + if (this._clipboardFiles === null) + return; + if (!this._clickX && !this._clickY) + return; + const pasteCoordinates = [this._clickX, this._clickY]; + const desktopDir = this._desktopDir.get_uri(); + const remoteOperations = this._DBusUtils.RemoteFileOperations; + + if (this._isCut) { + // This pops up GNOME Files error dialog, which is what we want. + remoteOperations.MoveURIsRemote(this._clipboardFiles, desktopDir); + } else { + this._dragManager.clearFileCoordinates( + this._clipboardFiles, + pasteCoordinates, + {doCopy: true} + ); + remoteOperations.CopyURIsRemote(this._clipboardFiles, desktopDir); + } + } + + _selectAll() { + for (let fileItem of this._displayList) { + if (fileItem.isAllSelectable) + fileItem.setSelected(); + } + } + + async _onOpenDesktopInFilesClicked() { + const context = Gdk.Display.get_default().get_app_launch_context(); + context.set_timestamp(Gdk.CURRENT_TIME); + try { + await Gio.AppInfo.launch_default_for_uri_async( + this._desktopDir.get_uri(), context, null); + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) { + const header = + _('Unable to open Desktop in Gnome Files'); + const text = + _(`Desktop Folder ${this._desktopDir.get_path()} does not exist`); + this._dbusManager.doNotify(header, text); + return; + } + console.error( + e, `Error opening desktop in GNOME Files: ${e.message}` + ); + } + } + + _onOpenTerminalClicked() { + this._desktopManager.fileItemActions.launchTerminal(); + } + + _showPreferences() { + if (this.preferencesWindow) { + this._dbusManager.doNotify( + _('Preferences Window is Open'), + _('This Window is open. Please switch to the active window.') + ); + return; + } + + this.preferencesWindow = this._Prefs.getAdwPreferencesWindow(); + this.preferencesWindow.connect('close-request', () => { + this.preferencesWindow = null; + }); + this.preferencesWindow.set_title(_('Settings')); + // Do not make modal or skip-taskbar as we have a .desktop icon + // showing up in the dock for the window to assist navigation. + // const modal = true; + // this._DesktopIconsUtil.windowHidePagerTaskbarModal( + // this.preferencesWindow, modal); + this.preferencesWindow.show(); + } + + _syncArrangeOrder(action, newValue) { + if (!action.enabled) + return; + + const currentSetting = this._Prefs.desktopSettings.get_string( + this._Enums.SortOrder.ORDER); + const newValueString = newValue.deep_unpack(); + + if (currentSetting !== newValueString) { + action.set_enabled(false); + this._Prefs.desktopSettings.set_string( + this._Enums.SortOrder.ORDER, newValueString); + action.set_enabled(true); + } + + const currentState = action.get_state().deep_unpack(); + if (currentState !== newValueString) + action.set_state(newValue); + + this._desktopManager.onSortOrderChanged(); + } + + _selectFileItemInDirection(symbol) { + // Anchoring + var index; + var multiplier; + const previousSelection = this.currentSelection; + let selection = previousSelection; + + if (!selection || selection.length === 0) { + if (this.activeFileItem && this.activeFileItem.isStackMarker) + selection = [this.activeFileItem]; + else + selection = this._displayList; + } + + if (!selection || selection.length === 0) + return false; + + if (!this.keyboardSelected) + this._setKeyboardSelected(selection[0]); + + let selected = this.keyboardSelected; + + if (!selected) + return false; + + let selectedCoordinates = selected.getCoordinates(); + + // Navigation + switch (symbol) { + case Gdk.KEY_Left: + index = 0; + multiplier = -1; + break; + case Gdk.KEY_Right: + index = 0; + multiplier = 1; + break; + case Gdk.KEY_Up: + index = 1; + multiplier = -1; + break; + case Gdk.KEY_Down: + index = 1; + multiplier = 1; + break; + default: + return false; + } + + const selectedCenterX = + (selectedCoordinates[0] + selectedCoordinates[2]) / 2; + const selectedCenterY = + (selectedCoordinates[1] + selectedCoordinates[3]) / 2; + + let bestScore = null; + let newItem = null; + + let wrapItem = null; + let wrapExtreme = null; + let wrapSecondary = null; + + for (let item of this._displayList) { + if (item === selected) + continue; + + let itemCoordinates = item.getCoordinates(); + const itemCenterX = (itemCoordinates[0] + itemCoordinates[2]) / 2; + const itemCenterY = (itemCoordinates[1] + itemCoordinates[3]) / 2; + + const deltaX = itemCenterX - selectedCenterX; + const deltaY = itemCenterY - selectedCenterY; + + const primary = index === 0 ? deltaX : deltaY; + const secondary = index === 0 ? Math.abs(deltaY) : Math.abs(deltaX); + + // Forward candidates (in the requested direction). + if (primary * multiplier > 0) { + const score = Math.abs(primary) + secondary; + if ((bestScore === null) || (score < bestScore)) { + bestScore = score; + newItem = item; + } + continue; + } + + // Wrap candidate: farthest in the opposite direction, + // with row/col bias. + if (wrapExtreme === null || + (multiplier > 0 + ? primary < wrapExtreme + : primary > wrapExtreme + ) || + (primary === wrapExtreme && secondary < wrapSecondary) + ) { + wrapExtreme = primary; + wrapSecondary = secondary; + wrapItem = item; + } + } + + if (newItem === null) + newItem = wrapItem || selected; + + // Selection logic + const {ctrl, shift} = this._desktopManager.modifierMode; + const keptSelection = previousSelection || []; + + if (shift && selected) { + // Shift: select everything in the rectangle between anchor and focus, + // extending (not clearing) the existing selection. + const anchor = this.lastAnchorSelected && + this._displayList.includes(this.lastAnchorSelected) + ? this.lastAnchorSelected + : selected; + const focusItem = anchor !== selected ? selected : newItem; + const sRect = anchor.iconRectangle; + const nRect = focusItem.iconRectangle; + const minX = Math.min(sRect.x, nRect.x); + const maxX = Math.max( + sRect.x + sRect.width, + nRect.x + nRect.width + ); + const minY = Math.min(sRect.y, nRect.y); + const maxY = Math.max( + sRect.y + sRect.height, + nRect.y + nRect.height + ); + + this._displayList.forEach(item => { + const rect = item.iconRectangle; + const withinX = rect.x <= maxX && rect.x + rect.width >= minX; + const withinY = rect.y <= maxY && rect.y + rect.height >= minY; + + if (withinX && withinY) + item.setSelected(); + }); + + // Keep any prior selection intact + keptSelection.forEach(item => item.setSelected()); + focusItem.setSelected(); + this.lastAnchorSelected = focusItem; + + if (anchor !== selected) { + // Cancel navigation when extending from a previous anchor + this._setKeyboardSelected(selected); + this._desktopManager.fileItemMenu.activeFileItem = selected; + this.activeFileItem = selected; + return true; + } + } else if (ctrl) { + // Ctrl: do not alter existing selection + if (newItem.isSelected) + this.lastAnchorSelected = newItem; + } else { + // Default: move selection to the new item only + this._desktopManager.unselectAll(); + newItem.setSelected(); + this.lastAnchorSelected = newItem; + } + + // Always keyboard-focus the new item + this._setKeyboardSelected(newItem); + + this._desktopManager.fileItemMenu.activeFileItem = newItem; + this.activeFileItem = newItem; + + return true; + } + + _toggleKeyboardSelection() { + const item = this.keyboardSelected; + if (!item) + return; + + if (item.isSelected) + item.unsetSelected(); + else + item.setSelected(); + } + + _setKeyboardSelected(fileItem) { + this._displayList.forEach(f => f.keyboardUnSelected()); + fileItem.keyboardSelected(); + } + + _menuKeyPressed() { + const selection = this.currentSelection; + if (selection) { + const fileItem = selection[0]; + const X = + fileItem.iconRectangle.x + fileItem.iconRectangle.width / 2; + const Y = + fileItem.iconRectangle.y + fileItem.iconRectangle.height / 2; + this._fileItemMenu.showMenu(fileItem, 3, 0, 0, X, Y, false, false); + } else { + const grid = this._desktops.filter(f => + f.coordinatesBelongToThisGrid(this._clickX, this._clickY)); + if (!grid) + return; + this._desktopManager.onPressButton( + null, + null, + this._clickX, + this._clickY, + 3, + false, + false, + grid[0] + ); + } + } + + async _newDocument(template) { + if (!template) + return; + + const file = Gio.File.new_for_path(template); + const finalName = + this._desktopMonitor.getDesktopUniqueFileName(file.get_basename()); + const destination = this._desktopDir.get_child(finalName); + + try { + await file.copy(destination, Gio.FileCopyFlags.NONE, null, null); + + try { + const info = new Gio.FileInfo(); + info.set_attribute_string( + 'metadata::nautilus-drop-position', + `${this._clickX},${this._clickY}` + ); + info.set_attribute_string( + 'metadata::desktop-icon-position', '' + ); + info.set_attribute_uint32(Gio.FILE_ATTRIBUTE_UNIX_MODE, 0o600); + await destination.set_attributes_async( + info, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_DEFAULT, + null + ); + } catch (e) { + console.error( + e, `Failed to set template metadata ${e.message}`); + } + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) + this._desktopManager._performSanityChecks(); + else + console.error(e, `Failed to create template ${e.message}`); + const header = _('Template Creation Error'); + const text = _('Could not create document'); + this._dbusManager.doNotify(header, text); + } + } + + async _createDesktopShortcut(shortcutinfo) { + const fileList = [shortcutinfo.uri]; + const X = parseInt(shortcutinfo.X); + const Y = parseInt(shortcutinfo.Y); + + await this._dragManager.clearFileCoordinates( + fileList, + [X, Y], + {doCopy: true} + ); + + await this._DesktopIconsUtil.copyDesktopFileToDesktop( + shortcutinfo.uri, + [X, Y] + ); + } + + async updateClipboard() { + await this._updateClipboard() + .catch(e => console.error(e, 'Error updating Clipboard')); + } + + get currentSelection() { + return this._desktopManager.getCurrentSelection(); + } + + get activeFileItem() { + return this._fileItemMenu.activeFileItem; + } + + get keyboardSelected() { + let keyboardSelectedItem = null; + + for (let fileItem of this._displayList) { + if (fileItem.KeyboardSelected) { + keyboardSelectedItem = fileItem; + break; + } + } + + return keyboardSelectedItem; + } + + set activeFileItem(fileItem) { + this._fileItemMenu.activeFileItem = fileItem; + } + + get _displayList() { + return this._desktopManager._displayList; + } + + get _clickX() { + return this._desktopManager._clickX; + } + + get _clickY() { + return this._desktopManager._clickY; + } + + get _desktopDir() { + return this._desktopMonitor.desktopDir; + } + + get _desktops() { + return this._desktopManager._desktops; + } +}; + + +const DesktopBackgroundMenu = class { + constructor(desktopManager) { + this._desktopManager = desktopManager; + this._mainApp = desktopManager.mainApp; + this._Prefs = desktopManager.Prefs; + this._desktopActions = desktopManager.desktopActions; + this._waitDelayMs = desktopManager.DesktopIconsUtil.waitDelayMs; + this._Prefs = desktopManager.Prefs; + this._desktopIconsUtil = desktopManager.DesktopIconsUtil; + this._templatesScriptsManager = desktopManager.templatesScriptsManager; + this._FileUtils = desktopManager.FileUtils; + this._Enums = desktopManager.Enums; + this._startMonitoringTemplatesDir(); + } + + _startMonitoringTemplatesDir() { + this._templatesMonitor = + new this._templatesScriptsManager.TemplatesScriptsManager( + this._desktopIconsUtil.getTemplatesDir(), + this._templatesDirSelectionFilter.bind(this), + { + appName: 'app.newDocument', + FileUtils: this._FileUtils, + Enums: this._Enums, + } + ); + } + + _templatesDirSelectionFilter(fileinfo) { + const name = this._desktopIconsUtil.getFileExtensionOffset( + fileinfo.get_name()).basename; + const hiddenfile = name.substring(0, 1) === '.'; + + if (!this._Prefs.showHidden && hiddenfile) + return null; + + return name; + } + + _createDesktopBackgroundGioMenu() { + this.desktopBackgroundGioMenu = Gio.Menu.new(); + + const sortingRadioMenu = Gio.Menu.new(); + sortingRadioMenu.append( + _('Name'), 'app.arrangeaction::NAME'); + sortingRadioMenu.append( + _('Name Z-A'), 'app.arrangeaction::DESCENDINGNAME'); + sortingRadioMenu.append( + _('Modified Time'), 'app.arrangeaction::MODIFIEDTIME'); + sortingRadioMenu.append( + _('Type'), 'app.arrangeaction::KIND'); + sortingRadioMenu.append( + _('Size'), 'app.arrangeaction::SIZE'); + + + const sortingSubMenu = Gio.Menu.new(); + this._keepArrangedMenuItem = Gio.MenuItem.new( + _('Keep Arranged…'), 'app.keep-arranged'); + if (!this._Prefs.keepStacked) + sortingSubMenu.append_item(this._keepArrangedMenuItem); + + sortingSubMenu.append( + _('Keep Stacked by Type…'), 'app.keep-stacked'); + sortingSubMenu.append( + _('Sort Home/Drives/Trash…'), 'app.sort-special-folders'); + sortingSubMenu.append_section(null, sortingRadioMenu); + + const settingSubMenu = Gio.Menu.new(); + settingSubMenu.append( + _('Change Desktop'), 'app.changeDesktop'); + const restoreDefaultDesktop = + this._mainApp.lookup_action('restoreDefaultDesktop'); + if (restoreDefaultDesktop.get_enabled()) { + settingSubMenu.append( + _('Restore Default Desktop'), 'app.restoreDefaultDesktop' + ); + } + settingSubMenu.append( + _('Desktop Icon Settings'), 'app.changeDesktopIconSettings'); + settingSubMenu.append( + _('Show Shortcuts'), 'app.showShortcutViewer'); + + this.desktopBackgroundGioMenu.append( + _('New Folder'), 'app.doNewFolder'); + + const templatesmenu = this._templatesMonitor.getGioMenu(); + if (!(templatesmenu === null)) { + this.desktopBackgroundGioMenu.append_submenu( + _('New Document'), templatesmenu); + } + + const pasteUndoRedoMenu = Gio.Menu.new(); + if (this._mainApp.lookup_action('doPaste').get_enabled()) + pasteUndoRedoMenu.append(_('Paste'), 'app.doPaste'); + if (this._mainApp.lookup_action('doUndo').get_enabled()) + pasteUndoRedoMenu.append(_('Undo'), 'app.doUndo'); + if (this._mainApp.lookup_action('doRedo').get_enabled()) + pasteUndoRedoMenu.append(_('Redo'), 'app.doRedo'); + + if (pasteUndoRedoMenu.get_n_items()) + this.desktopBackgroundGioMenu.append_section(null, pasteUndoRedoMenu); + + const selectAllMenu = Gio.Menu.new(); + selectAllMenu.append(_('Select All'), 'app.selectAll'); + + this.desktopBackgroundGioMenu.append_section(null, selectAllMenu); + + const sortingMenu = Gio.Menu.new(); + if (!this._Prefs.keepStacked) { + const cleanUpMenuItem = Gio.MenuItem.new( + _('Arrange Icons'), 'app.cleanUpIcons'); + sortingMenu.append_item(cleanUpMenuItem); + } + const arrangeSubMenuItem = Gio.MenuItem.new_submenu( + _('Arrange By…'), sortingSubMenu); + sortingMenu.append_item(arrangeSubMenuItem); + + this.desktopBackgroundGioMenu.append_section(null, sortingMenu); + + const desktopTerminalMenu = Gio.Menu.new(); + const nautilusName = this._Prefs.NautilusName; + desktopTerminalMenu.append( + _('Show Desktop In {0}').replace('{0}', nautilusName), + 'app.showDesktopInFiles' + ); + const terminalString = this._Prefs.TerminalName; + desktopTerminalMenu.append( + _('Open In {0}').replace('{0}', terminalString), + 'app.openDesktopInTerminal' + ); + + this.desktopBackgroundGioMenu.append_section( + null, desktopTerminalMenu); + + const settingsMenu = Gio.Menu.new(); + const settingSubMenuItem = Gio.MenuItem.new_submenu( + _('Settings'), settingSubMenu); + settingsMenu.append_item(settingSubMenuItem); + + this.desktopBackgroundGioMenu.append_section(null, settingsMenu); + + if (this._Prefs.showDesktopWidgets) { + const widgetLayerMenu = Gio.Menu.new(); + widgetLayerMenu.append( + _('Edit Widgets…'), 'app.toggleWidgetLayer'); + + this.desktopBackgroundGioMenu.append_section(null, widgetLayerMenu); + } + + const backgroundMenu = Gio.Menu.new(); + backgroundMenu.append( + _('Shell Menu…'), 'app.displayShellBackgroundMenu'); + + // Following deprectiated, Shell Menu has these options anyway + // this.backgroundMenu.append( + // _('Change Background…'), 'app.changeBackGround'); + // this.backgroundMenu.append( + // _('Display Settings'), 'app.changeDisplaySettings'); + + this.desktopBackgroundGioMenu.append_section(null, backgroundMenu); + } + + updateTemplates() { + this._templatesMonitor.updateEntries(); + } + + menuclosed = () => { + return new Promise(resolve => { + this.popupmenuclosed = resolve; + }); + }; + + async showDesktopMenu(x, y, grid) { + await this._desktopActions.updateClipboard() + .catch(e => console.error(e, 'Error updating clipboard')); + this._createDesktopBackgroundGioMenu(); + this.popupmenu = + Gtk.PopoverMenu.new_from_model(this.desktopBackgroundGioMenu); + this.popupmenu.set_parent(grid._container); + const menuLocation = new Gdk.Rectangle({x, y, width: 1, height: 1}); + this.popupmenu.set_pointing_to(menuLocation); + const menuGtkPosition = grid.getIntelligentPosition(menuLocation); + if (menuGtkPosition !== null) + this.popupmenu.set_position(menuGtkPosition); + this.popupmenu.set_has_arrow(false); + this.popupmenu.popup(); + this.popupmenu.connect('closed', () => { + GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, () => { + this.popupmenu.unparent(); + this.popupmenu = null; + if (this.popupmenuclosed) + this.popupmenuclosed(true); + this.popupmenuclosed = null; + return GLib.SOURCE_REMOVE; + }); + }); + } +}; diff --git a/ding/app/dragManager.js b/ding/app/dragManager.js new file mode 100644 index 0000000..b27942a --- /dev/null +++ b/ding/app/dragManager.js @@ -0,0 +1,987 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Adw/Gtk4 Port Copyright (C) 2025 Sundeep Mediratta (smedius@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 . + */ + +import {Gtk, Gdk, Gio, GLib} from '../dependencies/gi.js'; +import {_} from '../dependencies/gettext.js'; + + +export {DragManager}; + +const DragManager = class { + constructor(desktopManager) { + this._desktopManager = desktopManager; + this._mainApp = this._desktopManager.mainApp; + this._FileUtils = desktopManager.FileUtils; + this._DesktopIconsUtil = desktopManager.DesktopIconsUtil; + this._DBusUtils = desktopManager.DBusUtils; + this._Prefs = desktopManager.Prefs; + this._GnomeShellDragDrop = this._desktopManager.GnomeShellDragDrop; + this._Enums = this._desktopManager.Enums; + this._dbusManager = this._desktopManager.dbusManager; + this._pendingDropFiles = {}; + this._pendingSelfCopyFiles = {}; + this.pointerX = 0; + this.pointerY = 0; + this._dragList = null; + this.dragItem = null; + this.rubberBand = false; + this.localDragOffset = [0, 0]; + } + + // Drag and Drop local Methods + + _saveCurrentFileCoordinatesForUndo(fileList = null) { + if (this._Prefs.keepArranged || this._Prefs.keepStacked) + return; + + this._pendingDropFiles = {}; + this._pendingSelfCopyFiles = {}; + + fileList = fileList ? fileList : this.currentSelection; + + if (!fileList) + return; + + fileList.forEach(f => { + const savedCoordinates = [ + ...f.savedCoordinates, + ...f.normalCoordinates, + f.monitorIndex, + ]; + this._pendingSelfCopyFiles[f.fileName] = savedCoordinates; + }); + } + + _makeFileSystemLinks(fileList, destination) { + let gioDestination = Gio.File.new_for_uri(destination); + fileList.forEach(file => { + const fileGio = Gio.File.new_for_uri(file); + const baseNameParts = + this._DesktopIconsUtil.getFileExtensionOffset( + fileGio.get_basename() + ); + let i = 0; + let newSymlinkName = fileGio.get_basename(); + let checkSymlinkGio; + + do { + checkSymlinkGio = + Gio.File.new_build_filenamev( + [gioDestination.get_path(), newSymlinkName] + ); + + try { + checkSymlinkGio.make_symbolic_link( + GLib.build_filenamev([fileGio.get_path()]), + null + ); + break; + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.EXISTS)) { + i += 1; + newSymlinkName = + `${baseNameParts.basename}` + + `${i}${baseNameParts.extension}`; + } else { + console.error(e, 'Error making file-system links'); + const header = _('Making SymLink Failed'); + const text = _('Could not create symbolic link'); + this._dbusManager.doNotify(header, text); + break; + } + } + } while (true); + }); + } + + async _detectURLorText(dropData, dropCoordinates) { + /** + * Checks to see if a string is a URL + * + * @param {string} str A text URL + * @returns {boolean} if the string is a URL + */ + function isValidURL(str) { + var pattern = new RegExp('^(https|http|ftp|rtsp|mms)?:\\/\\/?' + + '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' + + '((\\d{1,3}\\.){3}\\d{1,3}))' + + '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' + + '(\\?[;&a-z\\d%_.~+=-]*)?' + + '(\\#[-a-z\\d_]*)?$', 'i'); + return !!pattern.test(str); + } + + const text = dropData.toString(); + + if (text === '') + return; + + if (isValidURL(text)) { + await this._writeURLlinktoDesktop(text, dropCoordinates); + } else { + let filename = 'Dragged Text'; + const now = Date().valueOf().split(' ').join('').replace(/:/g, '-'); + filename = `${filename}-${now}`; + await this._DesktopIconsUtil.writeTextFileToPath( + text, + this._desktopDir, + filename, + dropCoordinates + ); + } + } + + async _writeURLlinktoDesktop(link, dropCoordinates) { + let filename = link.split('?')[0]; + filename = filename.split('//')[1]; + filename = filename.split('/')[0]; + const now = Date().valueOf().split(' ').join('').replace(/:/g, '-'); + filename = `${filename}-${now}`; + await this._writeHTMLTypeLink(filename, link, dropCoordinates); + } + + + async _writeHTMLTypeLink(filename, link, dropCoordinates) { + filename += '.html'; + let body = [ + '', + ' ', + ` `, + ' ', + ' ', + ' ', + '', + ]; + body = body.join('\n'); + await this._DesktopIconsUtil.writeTextFileToPath( + body, + this._desktopDir, + filename, + dropCoordinates + ); + } + + _startGnomeShellDrag() { + if (!this.localDrag && + this.dragItem && + !this.gnomeShellDrag + ) { + this.gnomeShellDrag = + new this._GnomeShellDragDrop + .GnomeShellDrag(this._desktopManager); + } + } + + _stopGnomeShellDrag() { + this.gnomeShellDrag?.destroy(); + this.gnomeShellDrag = null; + } + + _localDrag() { + let localDrag = false; + this._desktops.forEach(d => { + if (d.localDrag) + localDrag = true; + }); + return localDrag; + } + + _positiveOffsetGridAim(xGlobalDestination, yGlobalDestination) { + // Find the grid where the destination lies and aim towards the positive + // side, middle of grid to ensure drop in the grid + let xbias = 0; + let ybias = 0; + for (let desktop of this._desktops) { + if (desktop.coordinatesBelongToThisGrid( + xGlobalDestination, + yGlobalDestination)) { + xbias = desktop._elementWidth / 2; + ybias = desktop._elementHeight / 2; + break; + } + } + return [xGlobalDestination + xbias, yGlobalDestination + ybias]; + } + + async _getFsId(file) { + /** + * Returns filesystem id of file or null if file does not exist + * + * @param {file} Gio.File + * @returns {str} filesystem ID of file or null + */ + const info = + await file.query_info_async( + 'id::filesystem', + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_DEFAULT, + null + ).catch( + e => { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) + return null; + throw e; + } + ); + + if (info == null) + return null; + + return info.get_attribute_string('id::filesystem'); + } + + async _desktopFsId() { + const desktopFsId = await this._getFsId(this._desktopDir); + + return desktopFsId; + } + + async _fileIsOnDesktopFileSystem(file) { + /** + * Checks to see if file is on the same filesystem as the Desktop Folder + * Consider trash:// URI to be in the same folder as the Desktop + * This forces a move from Trash instead of copy + * + * @param {file} Gio.File + * @returns {boolean} if the file is on the same filesystem as Desktop + * @returns {null} if the file does not exist + */ + const fileSystemID = await this._getFsId(file); + if (fileSystemID == null) + return null; + if (fileSystemID.startsWith('trash')) + return true; + const desktopFileSystemID = await this._desktopFsId(); + if (fileSystemID === desktopFileSystemID) + return true; + return false; + } + + _drawRubberBand() { + for (let grid of this._desktops) + grid.updateOverlay(); + } + + // Global Methods + // ******************************************************* + + // Drag Preperation + + fillDragDataGet(target) { + const fileList = this.currentSelection; + if (!fileList) + return null; + + let uriList = ''; + let pathList = ''; + + switch (target) { + case this._Enums.DndTargetInfo.GNOME_ICON_LIST: + for (let fileItem of fileList) { + uriList += fileItem.uri; + const coordinates = fileItem.getCoordinates(); + if (coordinates !== null) { + uriList += `\r + ${coordinates[0]}: + ${coordinates[1]}: + ${coordinates[2] - coordinates[0] + 1}: + ${coordinates[3] - coordinates[1] + 1}`; + } + uriList += '\r\n'; + } + return uriList; + case this._Enums.DndTargetInfo.DING_ICON_LIST: + case this._Enums.DndTargetInfo.TEXT_URI_LIST: + uriList = fileList.map(f => f.uri).join('\r\n'); + uriList += '\r\n'; + return uriList; + case this._Enums.DndTargetInfo.TEXT_PLAIN: + pathList = fileList.map(f => f.path).join('n'); + pathList += '\n'; + return pathList; + } + return null; + } + + makeFileListFromSelection(dropData, acceptFormat) { + if (!dropData) + return null; + if (acceptFormat === this._Enums.DndTargetInfo.TEXT_PLAIN) + return null; + + let fileList; + + if (acceptFormat === this._Enums.DndTargetInfo.GNOME_ICON_LIST) { + fileList = GLib.Uri.list_extract_uris(dropData); + } else if (acceptFormat === this._Enums.DndTargetInfo.DING_ICON_LIST) { + fileList = dropData.get_files().map(f => f.get_uri()); + } else { + fileList = dropData.split('\n').map(f => { + if (GLib.Uri.peek_scheme(f)) + return f; + else + return GLib.filename_to_uri(f, null); + }); + } + + // filename_to_uri can return null + fileList = fileList.filter(f => { + if (!f) + return false; + return true; + }); + + if (fileList && fileList.length) + return fileList; + else + return null; + } + + saveCurrentFileCoordinatesForUndo(fileList) { + this._saveCurrentFileCoordinatesForUndo(fileList); + } + + async clearFileCoordinates(fileList, + dropCoordinates, + opts = {doCopy: false}) { + if (this._Prefs.keepArranged || this._Prefs.keepStacked) + return; + + this.pendingDropFiles = {}; + this.pendingSelfCopyFiles = {}; + + await Promise.all(fileList.map(async element => { + const file = Gio.File.new_for_uri(element); + + if (!file.is_native()) { + this.setPendingDropCoordinates(file, dropCoordinates); + return; + } + + const info = new Gio.FileInfo(); + info.set_attribute_string('metadata::desktop-icon-position', ''); + + if (dropCoordinates !== null) { + if (!opts.doCopy) { + info.set_attribute_string( + 'metadata::nautilus-drop-position', + `${dropCoordinates[0]},${dropCoordinates[1]}` + ); + } else { + this.setPendingDropCoordinates(file, dropCoordinates); + return; + } + } + + try { + await file.set_attributes_async(info, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_LOW, + null); + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) + this.setPendingDropCoordinates(file, dropCoordinates); + } + })); + } + + setPendingDropCoordinates(file, dropCoordinates) { + if (!dropCoordinates) + return; + const basename = file.get_basename(); + + this._pendingDropFiles = {}; + this._pendingSelfCopyFiles = {}; + + let selfCopy = false; + this.currentWorkingList.forEach(fileItem => { + if (fileItem.fileName === basename) { + this._pendingDropFiles[`${basename}COPYEXPECTED`] = + dropCoordinates; + this._pendingSelfCopyFiles[basename] = + fileItem.savedCoordinates; + selfCopy = true; + } + }); + + if (!selfCopy) + this._pendingDropFiles[basename] = dropCoordinates; + } + + // Drag Methods + + startRubberband(X, Y) { + this.rubberBandInitX = X; + this.rubberBandInitY = Y; + this.rubberBand = true; + for (let item of this._displayList) + item.touchedByRubberband = false; + } + + onDragBegin(item) { + this._saveCurrentFileCoordinatesForUndo(); + this.dragItem = item; + this._stopGnomeShellDrag(); + } + + onDragMotion(X, Y) { + if (this.dragItem === null) { + for (let desktop of this._desktops) + desktop.refreshDrag([[0, 0]], X, Y); + + return; + } + if (this._dragList === null) { + const itemList = this._desktopManager.getCurrentSelection(); + if (!itemList) + return; + + let [x1, y1] = this.dragItem.getCoordinates().slice(0, 3); + let oX = x1; + let oY = y1; + this._dragList = []; + for (let item of itemList) { + [x1, y1] = item.getCoordinates().slice(0, 3); + this._dragList.push([x1 - oX, y1 - oY]); + } + } + for (let desktop of this._desktops) + desktop.refreshDrag(this._dragList, X, Y); + this._stopGnomeShellDrag(); + this.dragItem.setHighLighted(); + } + + onDragLeave() { + this._dragList = null; + for (let desktop of this._desktops) + desktop.refreshDrag(null, 0, 0); + // Synthesise, extrapolate drag motion on a shell actor + this._startGnomeShellDrag(); + } + + onDragEnd() { + this.dragItem = null; + this._stopGnomeShellDrag(); + } + + async onDragDataReceived( + xGlobalDestination, + yGlobalDestination, + xlocalDestination, + ylocalDestination, + dropData, + acceptFormat, + gdkDropAction, + localDrop, + event, + dragItem + ) { + this.onDragLeave(); + + let dropCoordinates; + let xOrigin; + let yOrigin; + const forceCopy = gdkDropAction === Gdk.DragAction.COPY; + const fileList = this.makeFileListFromSelection(dropData, acceptFormat); + + if (!this._Prefs.freePositionIcons) { + [xGlobalDestination, yGlobalDestination] = + this._positiveOffsetGridAim( + xGlobalDestination, + yGlobalDestination + ); + } + + let returnAction; + + switch (acceptFormat) { + case this._Enums.DndTargetInfo.DING_ICON_LIST: + [xOrigin, yOrigin] = dragItem.getCoordinates().slice(0, 3); + if (gdkDropAction === Gdk.DragAction.MOVE) { + this.doMoveWithDragAndDrop( + xOrigin, + yOrigin, + xGlobalDestination, + yGlobalDestination + ); + returnAction = Gdk.DragAction.MOVE; + break; + } + // eslint-disable-next-line no-fallthrough + case this._Enums.DndTargetInfo.GNOME_ICON_LIST: + case this._Enums.DndTargetInfo.URI_LIST: + if (!fileList) + return; + if (gdkDropAction === Gdk.DragAction.MOVE || + gdkDropAction === Gdk.DragAction.COPY) { + try { + if (!localDrop) { + await this.clearFileCoordinates( + fileList, + [xGlobalDestination, yGlobalDestination], + {doCopy: forceCopy} + ); + } + + returnAction = await this.copyOrMoveUris( + fileList, + this._desktopDir.get_uri(), + event, + {forceCopy} + ); + } catch (e) { + console.error(e); + } + } else { + if (gdkDropAction >= Gdk.DragAction.LINK) + returnAction = Gdk.DragAction.LINK; + else + returnAction = Gdk.DragAction.COPY; + + this.askWhatToDoWithFiles( + fileList, + this._desktopDir.get_uri(), + xGlobalDestination, + yGlobalDestination, + xlocalDestination, + ylocalDestination, + event + ) + .catch(e => logError(e)); + } + break; + case this._Enums.DndTargetInfo.TEXT_PLAIN: + returnAction = Gdk.DragAction.COPY; + dropCoordinates = [xGlobalDestination, yGlobalDestination]; + this._detectURLorText(dropData, dropCoordinates); + break; + default: + returnAction = Gdk.DragAction.COPY; + } + // eslint-disable-next-line consistent-return + return returnAction; + } + + doMoveWithDragAndDrop(xOrigin, yOrigin, xDestination, yDestination) { + const keepArranged = + this._Prefs.keepArranged || this._Prefs.keepStacked; + + if (this._Prefs.sortSpecialFolders && keepArranged) + return; + + let deltaX; + let deltaY; + + if (!this._Prefs.freePositionIcons) { + deltaX = xDestination - xOrigin; + deltaY = yDestination - yOrigin; + } else { + deltaX = xDestination - xOrigin - this.localDragOffset[0] * 2; + deltaY = yDestination - yOrigin - this.localDragOffset[1]; + } + + const fileItems = []; + this._displayList.filter(item => item.isSelected).forEach(item => { + if (!keepArranged || item.isSpecial) { + fileItems.push(item); + item.removeFromGrid({callOnDestroy: false}); + let [x, y] = item.getCoordinates().slice(0, 3); + item.temporarySavedPosition = [x + deltaX, y + deltaY]; + } + }); + + // force to store the new coordinates + this._desktopManager._addFilesToDesktop(fileItems, + this._Enums.StoredCoordinates.OVERWRITE); + if (keepArranged) { + this._desktopManager.redrawDesktop().catch(e => { + console.log( + 'Exception while doing move with drag and drop and' + + `"Keep arranged…": ${e.message}\n${e.stack}`); + }); + } + } + + onTextDrop(dropData, [xGlobalDestination, yGlobalDestination]) { + this._detectURLorText( + dropData, + [xGlobalDestination, yGlobalDestination] + ); + } + + // Drag Motion + + onMotion(X, Y) { + this.pointerX = X; + this.pointerY = Y; + if (this.rubberBand) { + this.x1 = Math.min(X, this.rubberBandInitX); + this.x2 = Math.max(X, this.rubberBandInitX); + this.y1 = Math.min(Y, this.rubberBandInitY); + this.y2 = Math.max(Y, this.rubberBandInitY); + this.selectionRectangle = + new Gdk.Rectangle({ + 'x': this.x1, + 'y': this.y1, + 'width': this.x2 - this.x1, + 'height': this.y2 - this.y1, + }); + this._drawRubberBand(); + for (let item of this._displayList) { + const labelintersect = + item.labelRectangle.intersect(this.selectionRectangle)[0]; + const iconintersect = + item.iconRectangle.intersect(this.selectionRectangle)[0]; + if (labelintersect || iconintersect) { + item.setSelected(); + item.touchedByRubberband = true; + } else if (item.touchedByRubberband) { + item.unsetSelected(); + } + } + } + } + + onReleaseButton() { + if (this.rubberBand) { + this.rubberBand = false; + this.selectionRectangle = null; + } + for (let grid of this._desktops) + grid.updateOverlay(); + + return false; + } + + // Selection HighLighting + + unHighLightDropTarget() { + this._displayList.forEach(item => item.unHighLightDropTarget()); + } + + selected(fileItem, action) { + this._clearKeyboardSelection(); + switch (action) { + case this._Enums.Selection.ALONE: + if (!fileItem.isSelected) { + for (let item of this._displayList) { + if (item === fileItem) + item.setSelected(); + else + item.unsetSelected(); + } + } + break; + case this._Enums.Selection.WITH_SHIFT: + fileItem.toggleSelected(); + break; + case this._Enums.Selection.RIGHT_BUTTON: + if (!fileItem.isSelected) { + for (let item of this._displayList) { + if (item === fileItem) + item.setSelected(); + else + item.unsetSelected(); + } + } + break; + case this._Enums.Selection.ENTER: + if (this.rubberBand) + fileItem.setSelected(); + + break; + case this._Enums.Selection.RELEASE: + for (let item of this._displayList) { + if (item === fileItem) { + if (item.isSelected) + item.setSelected(); + else + item.unsetSelected(); + } + } + break; + } + } + + _clearKeyboardSelection() { + this._displayList.forEach(item => item.keyboardUnSelected()); + this._desktopManager.desktopActions.lastAnchorSelected = null; + } + + // File Copy Move Link Methods + + async copyOrMoveUris(uriList, destinationUri, event, params = {}) { + if (params.forceCopy) { + this._DBusUtils.RemoteFileOperations.pushEvent(event); + this._DBusUtils.RemoteFileOperations.CopyURIsRemote( + uriList, + destinationUri + ); + return Gdk.DragAction.COPY; + } + + const moveFiles = []; + const copyFiles = []; + + await Promise.all(uriList.map(async uri => { + const f = Gio.File.new_for_uri(uri); + const localFile = await this._fileIsOnDesktopFileSystem(f); + + // localFile is null if it does not exist, false if on different + // fileystem, true if on the same filesystem as the Desktop Folder + if (localFile == null) { + console.error(`Cannot Copy/Move, ${uri} does not exist`); + const header = _('Copy/Move Failed'); + const text = _('{0} Does not exist').replace('{0}', uri); + this._dbusManager.doNotify(header, text); + return; + } + if (localFile) + moveFiles.push(uri); + else + copyFiles.push(uri); + })); + + if (moveFiles.length) { + this._DBusUtils.RemoteFileOperations.pushEvent(event); + this._DBusUtils.RemoteFileOperations.MoveURIsRemote( + moveFiles, + destinationUri + ); + } + + if (copyFiles.length) { + this._DBusUtils.RemoteFileOperations.pushEvent(event); + this._DBusUtils.RemoteFileOperations.CopyURIsRemote( + copyFiles, + destinationUri + ); + } + + return moveFiles.length ? Gdk.DragAction.MOVE : Gdk.DragAction.COPY; + } + + async askWhatToDoWithFiles( + fileList, + destinationuri, + X, + Y, + x, + y, + event, + opts = {desktopactions: true} + ) { + const window = this._mainApp.get_active_window(); + this._mainApp.activate_action('textEntryAccelsTurnOff', null); + const chooser = new Gtk.AlertDialog(); + chooser.set_message(_('Choose Action for Files')); + chooser.buttons = [_('Move'), _('Copy'), _('Link'), _('Cancel')]; + chooser.set_modal(false); + chooser.set_cancel_button(3); + chooser.set_default_button(3); + const cancellable = Gio.Cancellable.new(); + if (this.dialogCancellable) + this.dialogCancellable.cancel(); + this.dialogCancellable = cancellable; + const showdialog = new Promise(resolve => { + chooser.choose(window, cancellable, async (actor, choice) => { + let retval = Gtk.ResponseType.CANCEL; + try { + const buttonpress = actor.choose_finish(choice); + switch (buttonpress) { + case 0: + retval = Gdk.DragAction.MOVE; + try { + if (opts.desktopactions) { + await this.clearFileCoordinates( + fileList, + [X, Y] + ); + } + + let forceCopy = false; + + await this.copyOrMoveUris( + fileList, + destinationuri, + event, + {forceCopy} + ); + } catch { + console.error('Error moving files'); + } + break; + case 1: + retval = Gdk.DragAction.COPY; + try { + if (opts.desktopactions) { + await this.clearFileCoordinates( + fileList, + [X, Y], + {dopCopy: true} + ); + } + + let forceCopy = true; + + await this.copyOrMoveUris(fileList, + destinationuri, event, {forceCopy}); + } catch { + console.error('Error copying files'); + } + break; + case 2: + retval = Gdk.DragAction.LINK; + try { + if (opts.desktopactions) { + await this.makeLinks( + fileList, + destinationuri, + X, + Y + ); + } else { + this._makeFileSystemLinks( + fileList, + destinationuri + ); + } + } catch { + console.error('Error making links'); + } + break; + default: + retval = Gtk.ResponseType.CANCEL; + } + resolve(retval); + } catch (e) { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { + console.error( + e, + 'Error asking choosing what to do with Files ' + + `${e.message}` + ); + } + resolve(retval); + } + }); + }); + const retval = await showdialog.catch(e => logError(e)); + this.dialogCancellable = null; + this._mainApp.activate_action('textEntryAccelsTurnOn', null); + return retval; + } + + async makeLinks(fileList, destination, X, Y) { + const gioDestination = Gio.File.new_for_uri(destination); + + await Promise.all(fileList.map(async file => { + const fileGio = Gio.File.new_for_uri(file); + + const newSymlinkName = + this._desktopManager.desktopMonitor + .getDesktopUniqueFileName( + fileGio.get_basename() + ); + + const symlinkGio = + Gio.File.new_build_filenamev( + [gioDestination.get_path(), newSymlinkName] + ); + + try { + const linkMade = + symlinkGio.make_symbolic_link( + GLib.build_filenamev([fileGio.get_path()]), + null + ); + + if (linkMade) { + const info = new Gio.FileInfo(); + + info.set_attribute_string( + 'metadata::nautilus-drop-position', + `${X},${Y}` + ); + + info.set_attribute_string( + 'metadata::desktop-icon-position', + '' + ); + + try { + await symlinkGio.set_attributes_async( + info, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_LOW, + null + ); + } catch (e) { + console.error(e, 'Error setting link FileInfo'); + } + } + } catch { + console.error('Error making desktop links'); + const header = _('Making SymLink Failed'); + const text = _('Could not create symbolic link'); + this._dbusManager.doNotify(header, text); + } + })); + } + + // Getters and Setters + + get pendingDropFiles() { + return this._pendingDropFiles; + } + + set pendingDropFiles(object) { + this._pendingDropFiles = object; + } + + get pendingSelfCopyFiles() { + return this._pendingSelfCopyFiles; + } + + set pendingSelfCopyFiles(object) { + this._pendingSelfCopyFiles = object; + } + + get currentSelection() { + return this._desktopManager.getCurrentSelection(); + } + + get currentWorkingList() { + return this._desktopManager.currentWorkingList; + } + + get _displayList() { + return this._desktopManager._displayList; + } + + get _desktops() { + return this._desktopManager._desktops; + } + + get _desktopDir() { + return this._desktopManager._desktopDir; + } + + get localDrag() { + return this._localDrag(); + } +}; diff --git a/ding/app/enums.js b/ding/app/enums.js new file mode 100644 index 0000000..4a32d6c --- /dev/null +++ b/ding/app/enums.js @@ -0,0 +1,198 @@ +/* eslint-disable no-unused-vars */ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Copyright (C) 2024, 2025 Sundeep Mediratta (smedius@gmail.com) + * Copyright (C) 2019 Sergio Costas (rastersoft@gmail.com) + * Based on code original (C) 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, 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 . + */ + +export const ICON_SIZE = {'tiny': 36, 'small': 48, 'standard': 64, 'large': 96}; +export const ICON_WIDTH = {'tiny': 70, 'small': 90, 'standard': 120, 'large': 130}; +export const ICON_HEIGHT = {'tiny': 80, 'small': 90, 'standard': 106, 'large': 138}; + +export const START_CORNER = { + 'top-left': [false, false], + 'top-right': [true, false], + 'bottom-left': [false, true], + 'bottom-right': [true, true], +}; + +export const FileType = { + NONE: null, + USER_DIRECTORY_HOME: 'show-home', + USER_DIRECTORY_TRASH: 'show-trash', + EXTERNAL_DRIVE: 'external-drive', + STACK_TOP: 'stack-top', +}; + +export const StoredCoordinates = { + PRESERVE: 0, + OVERWRITE: 1, + ASSIGN: 2, +}; + +export const Selection = { + ALONE: 0, + WITH_SHIFT: 1, + RIGHT_BUTTON: 2, + ENTER: 3, + LEAVE: 4, + RELEASE: 5, +}; + +/* From NautilusFileUndoManagerState */ +export const UndoStatus = { + NONE: 0, + UNDO: 1, + REDO: 2, +}; + +export const FileExistOperation = { + ASK: 0, + OVERWRITE: 1, + RENAME: 2, + SKIP: 3, +}; + +export const WhatToDoWithExecutable = { + EXECUTE: 0, + EXECUTE_IN_TERMINAL: 1, + DISPLAY: 2, + CANCEL: 3, +}; + +export const SortOrder = { + ORDER: 'arrangeorder', + NAME: 1, + DESCENDINGNAME: 2, + MODIFIEDTIME: 3, + KIND: 4, + SIZE: 5, +}; + +export const CompressionType = { + ZIP: 0, + TAR_XZ: 1, + SEVEN_ZIP: 2, + ENCRYPTED_ZIP: 3, +}; + +export const DndTargetInfo = { + DING_ICON_LIST: 'x-special/ding-icon-list', + GNOME_ICON_LIST: 'x-special/gnome-icon-list', + URI_LIST: 'text/uri-list', + TEXT_PLAIN: 'text/plain', + TEXT_PLAIN_UTF8: 'text/plain;charset=utf-8', + GDKFILELIST: 'GdkFileList', + GCHARARRAY: 'gchararray', + GFILE: 'GFile', + MIME_TYPES: ['x-special/ding-icon-list', 'x-special/gnome-icon-list', 'text/uri-list', 'text/plain', 'text/plain;charset=utf-8'], +}; + +// Since Gnome Shell 48 the enumeration of the cursor is different, +// the name has changed, althugh the value is the same; +// We use our own enumeration names to avoid problems with the version +// of the Gnome Shell, the enumeration integer points to the correct +// value in the Gnome Shell 48 and Meta 48 Enum and earlier. +// We use strings to avoid problems with the version of the Gnome Shell +// with corresponging Enum in DingManager.js. The strings are transmitted +// over DBus to the exetension. + +export const ShellDropCursor = { + DEFAULT: 'default', // 2 META_CURSOR_DEFAULT Meta.Cursor.DEFAULT + NODROP: 'dndNoDropCursor', // 15 META_CURSOR_NO_DROP Meta.Cursor.DND_UNSUPPORTED_TARGET + COPY: 'dndCopyCursor', // 13 META_CURSOR_COPY Meta.Cursor.DND_COPY + MOVE: 'dndMoveCursor', // 14 META_CURSOR_MOVE Meta.Cursor.DND_MOVE +}; + +export const DEFAULT_ATTRIBUTES = 'metadata::*,standard::*,access::*,time::modified,unix::mode'; +export const TERMINAL_SCHEMA = 'org.gnome.desktop.default-applications.terminal'; +export const SCHEMA_NAUTILUS = 'org.gnome.nautilus.preferences'; +export const SCHEMA_NAUTILUS_COMPRESSION = 'org.gnome.nautilus.compression'; +export const SCHEMA_GTK = 'org.gtk.gtk4.Settings.FileChooser'; +export const SCHEMA = 'org.gnome.shell.extensions.vesperos-taskbar.desktop-icons'; +export const SCHEMA_MUTTER = 'org.gnome.mutter'; +export const SCHEMA_GNOME_SETTINGS = 'org.gnome.desktop.interface'; +export const DCONF_TERMINAL_EXEC_KEY = 'exec'; +export const DCONF_TERMINAL_EXEC_STRING = 'exec-arg'; +export const DESKTOPFILE_TERMINAL_EXEC_KEY = 'Exec'; +export const DESKTOPFILE_TERMINAL_EXEC_SWITCH = 'X-ExecArg'; +export const NAUTILUS_SCRIPTS_DIR = '.local/share/nautilus/scripts'; +export const THUMBNAILS_DIR = '.cache/thumbnails'; +export const DND_HOVER_TIMEOUT = 1500; // In milliseconds +export const DND_SHELL_HOVER_POLL = 200; // In milliseconds +export const TOOLTIP_HOVER_TIMEOUT = 1000; // In milliseconds +export const XDG_EMAIL_CMD = 'xdg-email'; +export const XDG_EMAIL_CMD_OPTIONS = '--attach'; +export const ZIP_CMD = 'zip'; +export const ZIP_CMD_OPTIONS = '-r'; +export const XDG_TERMINAL_LIST_FILE = 'xdg-terminals.list'; +export const XDG_TERMINAL_DIR = 'xdg-terminal-exec'; +export const SYSTEM_DATA_DIRS = ['/usr/local/share', '/usr/share']; +export const XDG_TERMINAL_EXEC = 'xdg-terminal-exec'; +export const GRID_ELEMENT_SPACING = 2; +export const GRID_PADDING = 0; +export const WIDGET_GRID_SIZE = 10; +export const XDG_USER_DIRS = 'user-dirs.dirs'; +export const XDG_SYSTEM_DIRS = 'user-dirs.defaults'; +export const DEFAULT_DESKTOP_NAME = 'Desktop'; +export const UnixPermissions = { + S_ISUID: 0o04000, // set-user-ID bit + S_ISGID: 0o02000, // set-group-ID bit (see below) + S_ISVTX: 0o01000, // sticky bit (see below) + + S_IRWXU: 0o00700, // mask for file owner permissions + S_IRUSR: 0o00400, // owner has read permission + S_IWUSR: 0o00200, // owner has write permission + S_IXUSR: 0o00100, // owner has execute permission + + S_IRWXG: 0o00070, // mask for group permissions + S_IRGRP: 0o00040, // group has read permission + S_IWGRP: 0o00020, // group has write permission + S_IXGRP: 0o00010, // group has execute permission + + S_IRWXO: 0o00007, // mask for permissions for others (not in group) + S_IROTH: 0o00004, // others have read permission + S_IWOTH: 0o00002, // others have write permission + S_IXOTH: 0o00001, // others have execute permission + // From https://www.commandlinux.com/man-page/man2/lstat.2.html +}; +export const IgnoreKeys = [ + 'KEY_space', 'KEY_Shift_L', 'KEY_Shift_R', 'KEY_Control_L', + 'KEY_Control_R', 'KEY_Caps_Lock', 'KEY_Shift_Lock', 'KEY_Meta_L', + 'KEY_Meta_R', 'KEY_Alt_L', 'KEY_Alt_R', 'KEY_Super_L', + 'KEY_Super_R', 'KEY_ISO_Level3_Shift', 'KEY_ISO_Level5_Shift', +]; +export const TRANSITIONDURATION = 500; // in ms + +export const WidgetManagerDebugFlags = Object.freeze({ + NONE: 0, + HOST_STATE: 1 << 0, + WIDGET_MESSAGES: 1 << 1, +}); + +export const WIDGET_MANAGER_DEBUG = WidgetManagerDebugFlags.NONE; +// For debugging use +// const WIDGET_MANAGER_DEBUG = +// WidgetManagerDebugFlags.HOST_STATE | +// WidgetManagerDebugFlags.WIDGET_MESSAGES; + +export const CspProfile = Object.freeze({ + STRICT: 0, + DEV: 1, + RELAXED: 2, +}); + +export const DEFAULT_CSP_PROFILE = CspProfile.STRICT; diff --git a/ding/app/fileItemIcon.js b/ding/app/fileItemIcon.js new file mode 100644 index 0000000..8354e62 --- /dev/null +++ b/ding/app/fileItemIcon.js @@ -0,0 +1,850 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Adw-DING Copyright (C) 2022, 2025 Sundeep Mediratta (smedius@gmail.com) + * Based on code original (C) Carlos Soriano and (c) Sergio Costas + * SwitcherooControl code based on code original from Marsch84 + * + * 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 . + */ + +import {Gtk, Gdk, Gio, GLib} from '../dependencies/gi.js'; +import {DesktopIconItem} from '../dependencies/localFiles.js'; + +import {_} from '../dependencies/gettext.js'; + +export {FileItemIcon}; + +const Signals = imports.signals; + +const FileItemIcon = class extends DesktopIconItem { + constructor(desktopManager, file, fileInfo, fileTypeEnum, gioMount) { + super(desktopManager, fileTypeEnum); + this.DBusUtils = desktopManager.DBusUtils; + this._fileInfo = fileInfo; + this._gioMount = gioMount; + this._file = file; + this.isStackTop = false; + this.stackUnique = false; + + this.readSavedCoordinates(); + this.readDropCoordinates(); + + this._createIconActor(); + + /* Set the metadata */ + this._updateMetadataFromFileInfo(fileInfo); + + if (this._attributeCanExecute) + this._execLine = this.file.get_path(); + else + this._execLine = null; + + this._updateName(); + if (this._dropCoordinates) + this.setSelected(); + } + + /** ********************* + * Destroyers * + ***********************/ + + _destroy() { + super._destroy(); + + if (this._updatingIconCancellable) + this._updatingIconCancellable.cancel(); + + if (this._queryFileInfoCancellable) + this._queryFileInfoCancellable.cancel(); + + if (this._savedCoordinatesCancellable) + this._savedCoordinatesCancellable.cancel(); + + if (this._dropCoordinatesCancellable) + this._dropCoordinatesCancellable.cancel(); + + /* Metadata */ + if (this._setMetadataTrustedCancellable) + this._setMetadataTrustedCancellable.cancel(); + } + + /** ********************* + * Creators * + ***********************/ + + _getVisibleName() { + return this._fileInfo.get_display_name(); + } + + _setFileName(text) { + this._setLabelName(text); + } + + _setAccesibilityName() { + const visibleName = this._getVisibleName(); + const folderName = _('Folder'); + const fileName = _('File'); + + if (this._isDirectory) { + /** TRANSLATORS: when using a screen reader, this is the text + * read when a folder is selected. Example: if a folder named + * "things" is selected, it will say "things Folder" */ + this.container.update_property( + [Gtk.AccessibleProperty.LABEL], + [`${visibleName} ${folderName}`] + ); + } else { + /** TRANSLATORS: when using a screen reader, this is the text + * read when a normal file is selected. Example: if a file + * named "my_picture.jpg" is selected, it will say + * "my_picture.jpg File" */ + this.container.update_property( + [Gtk.AccessibleProperty.LABEL], + [`${visibleName} ${fileName}`] + ); + } + } + + readSavedCoordinates() { + const array = this._readCoordinatesFromAttribute(this._fileInfo, + 'metadata::desktop-icon-position' + ); + this._parseSavedCoordinates(array); + } + + readDropCoordinates() { + const array = this._readCoordinatesFromAttribute(this._fileInfo, + 'metadata::nautilus-drop-position' + ); + this._parseDropCoordinates(array); + } + + _readCoordinatesFromAttribute(fileInfo, attribute) { + const readCoordinates = fileInfo.get_attribute_as_string(attribute); + + if (readCoordinates !== null && readCoordinates !== '') + return readCoordinates.split(','); + + return null; + } + + async _refreshMetadataAsync(cancellable) { + if ((cancellable && cancellable.is_cancelled()) || this._destroyed) { + throw new GLib.Error(Gio.IOErrorEnum, + Gio.IOErrorEnum.CANCELLED, + 'Operation was cancelled'); + } else if (!cancellable) { + cancellable = new Gio.Cancellable(); + } + + if (this._queryFileInfoCancellable) + this._queryFileInfoCancellable.cancel(); + + this._queryFileInfoCancellable = cancellable; + + try { + const newFileInfo = + await this._file.query_info_async( + this.Enums.DEFAULT_ATTRIBUTES, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_DEFAULT, + cancellable + ); + + this._updateMetadataFromFileInfo(newFileInfo); + + this._updateName(); + } catch (e) { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) + console.error(e, `Error getting file info: ${e.message}`); + } finally { + if (this._queryFileInfoCancellable === cancellable) + this._queryFileInfoCancellable = null; + } + } + + _updateMetadataFromFileInfo(fileInfo) { + this._fileInfo = fileInfo; + + this._displayName = this._getVisibleName(); + + this._attributeCanExecute = fileInfo.get_attribute_boolean( + Gio.FILE_ATTRIBUTE_ACCESS_CAN_EXECUTE + ); + + this._unixmode = fileInfo.get_attribute_uint32( + Gio.FILE_ATTRIBUTE_UNIX_MODE + ); + + this._writableByOthers = + (this._unixmode & this.Enums.UnixPermissions.S_IWOTH) !== 0; + + this._attributeContentType = fileInfo.get_content_type(); + this._fileType = fileInfo.get_file_type(); + this._isDirectory = this._fileType === Gio.FileType.DIRECTORY; + this._isSpecial = this._fileTypeEnum !== this.Enums.FileType.NONE; + + this._isHidden = + fileInfo.get_attribute_boolean( + Gio.FILE_ATTRIBUTE_STANDARD_IS_HIDDEN) || + fileInfo.get_attribute_boolean( + Gio.FILE_ATTRIBUTE_STANDARD_IS_BACKUP); + + this._modifiedTime = fileInfo.get_attribute_uint64( + Gio.FILE_ATTRIBUTE_TIME_MODIFIED + ); + + if (this.Prefs.showLinkEmblem) + this._setEncryptionStatus().catch(logError); + } + + async _setEncryptionStatus() { + if (this.isEncrypted) + return; + + switch (this._attributeContentType) { + case 'application/x-7z-compressed': + this._isEncrypted = + this.DesktopIconsUtil.checkIf7zEncrypted(this._file); + break; + + case 'application/pdf': + // eslint-disable-next-line no-case-declarations + const isEncrypted = + await this.DesktopIconsUtil.checkIfPdfEncrypted(this._file); + + // File may have no password or null password, so we may still be + // able to read/display it. It will therefore have a generated + // thumbnail. Check by generating the thumbnail if needed. + // Don't show the locked item in this case, it is encrypted in pdf + // per pdf specification but a user can still read it. + if (isEncrypted && !this.thumbnail) { + this.thumbnail = + await this.ThumbnailLoader.getThumbnail( + this, + null + ); + } + + this._isEncrypted = isEncrypted && !this.thumbnail; + break; + + case 'application/zip': + this._isEncrypted = + await this.DesktopIconsUtil.checkIfZipEncrypted(this._file); + break; + + case 'application/epub+zip': + this._isEncrypted = + await this.DesktopIconsUtil.checkIfZipEncrypted(this._file); + break; + + default: + this._isEncrypted = false; + } + + if (!this._isEncrypted) + return; + + this.updateIcon() + .catch(e => + console.error(`Error updating after setting encryption status ${e}`) + ); + } + + async _doOpenContext(context = null, fileList) { + if (!fileList) + fileList = []; + + if (!this.DBusUtils.GnomeArchiveManager.isAvailable && + this._fileType === Gio.FileType.REGULAR && + this._desktopManager.autoAr.fileIsCompressed(this.fileName) + ) { + this._desktopManager.autoAr.extractFile(this.fileName); + + return; + } + + try { + await Gio.AppInfo.launch_default_for_uri_async( + this.file.get_uri(), + context, + null + ); + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_SUPPORTED)) { + const title = _('Opening File Failed'); + + const defaultAppInfo = + Gio.content_type_get_description(this.attributeContentType); + + const error = + _('There is no application installed to open "{fo}" files.') + .replace('{fo}', defaultAppInfo); + + const helpURI = + 'https://gitlab.com/smedius/desktop-icons-ng/-/issues/73'; + + this._showerrorpopup(title, error, helpURI); + } else { + console.error( + e, `Error opening file ${this.file.get_uri()}: ${e.message}` + ); + } + } + } + + _showerrorpopup(title, error, helpURI = null) { + const errorDialog = this._desktopManager.showError( + title, + error, + helpURI + ); + + errorDialog.show(); + } + + _updateName() { + this._setFileName(this._getVisibleName()); + + this._setAccesibilityName(); + } + + /** ********************* + * Button Clicks * + ***********************/ + + _doButtonOnePressed( + button, nPress, X, Y, x, y, shiftPressed, controlPressed + ) { + super._doButtonOnePressed( + button, nPress, X, Y, x, y, shiftPressed, controlPressed + ); + + if (nPress === 2 && !this.Prefs.CLICK_POLICY_SINGLE) + this.doOpen(); + } + + _doButtonOneReleased( + _button, nPress, _X, _Y, _x, _y, shiftPressed, controlPressed + ) { + if (nPress === 1 && + this.Prefs.CLICK_POLICY_SINGLE && + !shiftPressed && + !controlPressed) + this.doOpen(); + } + + /** ********************* + * Drag and Drop * + ***********************/ + + async receiveDrop( + X, Y, + x, y, + dropData, + acceptFormat, + gdkDropAction, + localDrop, + event, + dragItem + ) { + if (!this.dropCapable) + return false; + + if (acceptFormat !== this.Enums.DndTargetInfo.DING_ICON_LIST && + acceptFormat !== this.Enums.DndTargetInfo.GNOME_ICON_LIST && + acceptFormat !== this.Enums.DndTargetInfo.URI_LIST) + return false; + + const fileList = + this._dragManager.makeFileListFromSelection(dropData, acceptFormat); + + if (!fileList) + return false; + + if (dragItem && (dragItem.uri === this._file.get_uri() || + !(this._isValidDesktopFile || this.isDirectory))) { + // Dragging a file/folder over itself or over another file will + // do nothing, allow drag to directory or valid desktop file + return false; + } + + const dropReturnValue = await this._handleDroppedUris( + X, Y, + x, y, + fileList, + gdkDropAction, + localDrop, + event + ); + + return dropReturnValue; + } + + async _handleDroppedUris( + X, Y, + x, y, + fileList, + gdkDropAction, + localDrop, + event + ) { + const forceCopy = gdkDropAction === Gdk.DragAction.COPY; + let returnAction; + + if (gdkDropAction === Gdk.DragAction.MOVE || + gdkDropAction === Gdk.DragAction.COPY + ) { + if (localDrop) + this._dragManager.saveCurrentFileCoordinatesForUndo(); + try { + returnAction = + await this._dragManager.copyOrMoveUris( + fileList, this._file.get_uri(), event, {forceCopy} + ); + } catch (e) { + console.error(e); + return false; + } + } else { + if (gdkDropAction >= Gdk.DragAction.LINK) + returnAction = Gdk.DragAction.LINK; + else + returnAction = Gdk.DragAction.COPY; + + this._dragManager.askWhatToDoWithFiles( + fileList, + this._file.get_uri(), + X, Y, + x, y, + event, + {desktopActions: false} + ); + } + + return returnAction; + } + + _hasToRouteDragToGrid() { + return this._isSelected && + this._dragManager.dragItem && + this._dragManager.dragItem.uri !== this._file.get_uri(); + } + + _dropCapable() { + if (this._isDirectory || + this._hasToRouteDragToGrid() + ) + return true; + else + return false; + } + + /** ********************* + * Icon Rendering * + ***********************/ + + async _reloadIcon(cancellable) { + if (!cancellable) + cancellable = new Gio.Cancellable(); + this._updatingIconCancellable = cancellable; + try { + await this._refreshMetadataAsync(cancellable); + await this._updateIcon(cancellable); + this._icon.queue_draw(); + } catch (e) { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { + console.error( + e, + `Exception while updating ${ + this._getVisibleName() + ? this._getVisibleName() + : 'updating icon' + }: ${e.message}`); + throw e; + } + } finally { + if (this._updatingIconCancellable === cancellable) + this._updatingIconCancellable = null; + } + } + + _addEmblemsToIconIfNeeded(iconPaintable, position = 0) { + let emblem = null; + let newIconPaintable = iconPaintable; + + if (this.isEncrypted && this.Prefs.showLinkEmblem) { + emblem = Gio.ThemedIcon.new('icon-emblem-locked'); + + newIconPaintable = + this._addEmblem(newIconPaintable, emblem, position); + + position += 1; + } + + return newIconPaintable; + } + + /** ********************* + * Class Methods * + ***********************/ + + onAttributeChanged() { + if (this._destroyed) + return; + + this._reloadIcon() + .catch(e => { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { + console.error( + e, + 'Exception while updating icon on Attribute Changed: ' + + `${e.message}` + ); + } + } + ); + } + + updatedMetadata() { + this._reloadIcon().catch(e => { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { + console.error( + e, + 'Exception while updating icon on Metadata Changed: ' + + `${e.message}` + ); + } + }); + } + + doOpen(fileList) { + if (!fileList) + fileList = []; + + this._doOpenContext(null, fileList).catch(e => console.error(e)); + } + + async onAllowDisallowLaunchingClicked() { + /* + * 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 | + this.Enums.UnixPermissions.S_IXUSR | + this.Enums.UnixPermissions.S_IXGRP | + this.Enums.UnixPermissions.S_IXOTH; + + info.set_attribute_uint32( + Gio.FILE_ATTRIBUTE_UNIX_MODE, + newUnixMode + ); + + await this._setFileAttributes(info).catch(e => { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) + throw e; + }); + } + + this._updateName(); + } + + doDiscreteGpu() { + if (!this.DBusUtils.discreteGpuAvailable) { + console.log( + 'Could not apply discrete GPU environment, switcheroo-control' + + ' not available' + ); + return; + } + + let gpus = this.DBusUtils.SwitcherooControl.proxy.GPUs; + if (!gpus) { + console.log( + 'Could not apply discrete GPU environment. No GPUs in list.' + ); + return; + } + + for (let gpu in gpus) { + if (!gpus[gpu]) + continue; + + let defaultVariant = gpus[gpu]['Default']; + if (!defaultVariant || defaultVariant.get_boolean()) + continue; + + let env = gpus[gpu]['Environment']; + if (!env) + continue; + + let envS = env.get_strv(); + let context = new Gio.AppLaunchContext(); + for (let i = 0; i < envS.length; i += 2) + context.setenv(envS[i], envS[i + 1]); + + this._doOpenContext(context, null).catch(e => console.error(e)); + return; + } + console.log('Could not find discrete GPU data in switcheroo-control'); + } + + async _setFileAttributes(fileInfo, cancellable = null, updateIcon = true) { + await this._file.set_attributes_async( + fileInfo, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_LOW, + cancellable + ); + + if (cancellable && cancellable.is_cancelled()) { + throw new GLib.Error(Gio.IOErrorEnum, + Gio.IOErrorEnum.CANCELLED, + 'Operation was cancelled'); + } + + if (updateIcon) { + await this._reloadIcon(cancellable).catch(e => { + console.error( + 'Error while updating icon while setting attributes' + ); + throw e; + }); + } + } + + async _storeCoordinates(name, coords, cancellable = null) { + const info = new Gio.FileInfo(); + info.set_attribute_string( + `metadata::${name}`, + `${coords ? coords.join(',') : ''}` + ); + + const updateIcon = true; + await this._setFileAttributes(info, cancellable, !updateIcon); + } + + writeSavedCoordinates(pos) { + const oldPos = this._savedCoordinates; + this._parseSavedCoordinates(pos); + + if (this._savedCoordinatesCancellable) + this._savedCoordinatesCancellable.cancel(); + + const cancellable = new Gio.Cancellable(); + this._savedCoordinatesCancellable = cancellable; + + this._storeCoordinates( + 'desktop-icon-position', + pos, + cancellable + ).catch(e => { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { + console.error( + e, + 'Failed to store the desktop coordinates for ' + + `${this.uri}: ${e.message}` + ); + this._savedCoordinates = oldPos; + } + }).finally(() => { + if (this._savedCoordinatesCancellable === cancellable) + this._savedCoordinatesCancellable = null; + }); + } + + writeDroppedCoordinates(pos) { + const oldPos = this._dropCoordinates; + this._parseDropCoordinates(pos); + + if (this._dropCoordinatesCancellable) + this._dropCoordinatesCancellable.cancel(); + + const cancellable = new Gio.Cancellable(); + this._dropCoordinatesCancellable = cancellable; + + this._storeCoordinates( + 'nautilus-drop-position', + pos, + cancellable + ).catch(e => { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { + console.error(e, + 'Failed to store the desktop coordinates for ' + + `${this.uri}: ${e.message}` + ); + this._dropCoordinates = oldPos; + } + }).finally(() => { + if (this._dropCoordinatesCancellable === cancellable) + this._dropCoordinatesCancellable = null; + }); + } + + /** ********************* + * Getters and setters * + ***********************/ + + get attributeContentType() { + return this._attributeContentType; + } + + get attributeCanExecute() { + return this._attributeCanExecute; + } + + get canRename() { + return !this.trustedDesktopFile && + (this._fileTypeEnum === this.Enums.FileType.NONE); + } + + get displayName() { + return this._displayName || null; + } + + get dropCoordinates() { + return this._dropCoordinates; + } + + set dropCoordinates(pos) { + if (this.DesktopIconsUtil.coordinatesEqual(this._dropCoordinates, pos)) + return; + this.writeDroppedCoordinates(pos); + } + + get execLine() { + return this._execLine; + } + + get executableContentType() { + return Gio.content_type_can_be_executable(this.attributeContentType); + } + + get file() { + return this._file; + } + + get fileContainsText() { + return this._attributeContentType === 'text/plain'; + } + + get fileName() { + return this._fileInfo.get_name(); + } + + get fileSize() { + return this._fileInfo.get_size(); + } + + get isAllSelectable() { + return this._fileTypeEnum === this.Enums.FileType.NONE; + } + + get isDirectory() { + return this._isDirectory; + } + + get isExecutable() { + return this._attributeCanExecute; + } + + get isHidden() { + return this._isHidden; + } + + get metadataTrusted() { + return this._trusted; + } + + set metadataTrusted(value) { + this._trusted = value; + + if (this._setMetadataTrustedCancellable) + this._setMetadataTrustedCancellable.cancel(); + + + const cancellable = new Gio.Cancellable(); + this._setMetadataTrustedCancellable = cancellable; + + let info = new Gio.FileInfo(); + info.set_attribute_string('metadata::trusted', + value ? 'true' : 'false'); + + this._setFileAttributes(info, cancellable) + .catch(e => { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { + console + .error(e, `Failed to set metadata::trusted: ${e.message}`); + } + }) + .finally(() => { + if (cancellable === this._setMetadataTrustedCancellable) + this._setMetadataTrustedCancellable = null; + }); + } + + get modifiedTime() { + return this._modifiedTime; + } + + get path() { + return this._file.get_path(); + } + + get savedCoordinates() { + return this._savedCoordinates; + } + + set savedCoordinates(pos) { + if (this.DesktopIconsUtil.coordinatesEqual(this._savedCoordinates, pos)) + return; + + this.writeSavedCoordinates(pos); + } + + get x() { + return this._x1; + } + + get y() { + return this._y1; + } + + get X() { + return this._savedCoordinates[0]; + } + + get Y() { + return this._savedCoordinates[1]; + } + + get uri() { + return this._file.get_uri(); + } + + get writableByOthers() { + return this._writableByOthers; + } + + get isStackMarker() { + if (this.isStackTop && !this.stackUnique) + return true; + else + return false; + } +}; +Signals.addSignalMethods(FileItemIcon.prototype); diff --git a/ding/app/fileItemMenu.js b/ding/app/fileItemMenu.js new file mode 100644 index 0000000..9119107 --- /dev/null +++ b/ding/app/fileItemMenu.js @@ -0,0 +1,1490 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Gtk4 Port Copyright (C) 2022 - 2025 Sundeep Mediratta (smedius@gmail.com) + * Copyright (C) 2021 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 . + */ +import {Gtk, Gdk, Gio, GLib} from '../dependencies/gi.js'; +import {_, Gettext} from '../dependencies/gettext.js'; + +export {FileItemMenu}; +export {FileItemActions}; + +const FileItemMenu = class { + constructor(desktopManager) { + this._desktopManager = desktopManager; + this._codePath = this._desktopManager.codePath; + this._mainApp = this._desktopManager.mainApp; + this._Prefs = this._desktopManager.Prefs; + this._Enums = this._desktopManager.Enums; + this._DesktopIconsUtil = this._desktopManager.DesktopIconsUtil; + this._DBusUtils = desktopManager.DBusUtils; + this._Enums = desktopManager.Enums; + this._dragManager = desktopManager.dragManager; + + this._templatesScriptsManager = + this._desktopManager.templatesScriptsManager; + + this._monitorScripts(); + this._activeFileItem = null; + } + + _monitorScripts() { + this.scriptsMonitor = + new this._templatesScriptsManager.TemplatesScriptsManager( + this._DesktopIconsUtil.getScriptsDir(), + this._scriptsDirSelectionFilter.bind(this), + { + appName: 'app.onScriptClicked', + FileUtils: this._desktopManager.FileUtils, + Enums: this._Enums, + } + ); + } + + _scriptsDirSelectionFilter(fileinfo) { + let name = fileinfo.get_name(); + let hidden = name.substring(0, 1) === '.'; + let executable = fileinfo.get_attribute_boolean('access::can-execute'); + if (!hidden && executable) + return name; + else + return null; + } + + /* Shows all possible values that can be assigned to this function */ + showMenu( + fileItem, + _button = null, + X = null, + _Y = null, + x = null, + y = null, + _shiftSelected = false, + _controlSelected = false + ) { + this.activeFileItem = fileItem; + const selectedItemsNum = + this._desktopManager.getNumberOfSelectedItems(); + const scriptsSubmenu = this.scriptsMonitor.getGioMenu(); + const menulocation = X + ? new Gdk.Rectangle({x, y, width: 1, height: 1}) + : fileItem._grid.getGlobaltoLocalRectangle(fileItem.iconRectangle); + + this._menu = Gio.Menu.new(); + const makeFolderMenu = Gio.Menu.new(); + const openMenu = Gio.Menu.new(); + const runAsProgram = Gio.Menu.new(); + const cutCopyPasteMenu = Gio.Menu.new(); + const trashMenu = Gio.Menu.new(); + const allowLaunchingMenu = Gio.Menu.new(); + const emptyTrashMenu = Gio.Menu.new(); + const driveMenu = Gio.Menu.new(); + const propertiesMenu = Gio.Menu.new(); + const showInFilesMenu = Gio.Menu.new(); + const openInTerminalMenu = Gio.Menu.new(); + + if (fileItem.isAllSelectable && + !this._desktopManager.checkIfSpecialFilesAreSelected() && + (selectedItemsNum >= 2)) { + makeFolderMenu.append( + Gettext + .ngettext( + 'New Folder with {0} item', + 'New Folder with {0} items', + selectedItemsNum) + .replace('{0}', selectedItemsNum), + 'app.newfolderfromselection' + ); + } + + if (!this.activeFileItem.isStackMarker) { + if (selectedItemsNum > 1) { + openMenu.append(_('Open All...'), 'app.openMultipleFileAction'); + } else { + let app; + let menuLabel; + + if (this.activeFileItem.executableContentType && + this.activeFileItem.isExecutable && + this.activeFileItem.trustedDesktopFile) + menuLabel = _('Launch'); + + const canOpenUri = true; + const type = this.activeFileItem.attributeContentType; + const defaultApp = Gio.AppInfo.get_default_for_type; + const recommendedApp = Gio.AppInfo.get_recommended_for_type; + app = defaultApp(type, !canOpenUri)?.get_name(); + if (!app) + app = recommendedApp(type)[0]?.get_name(); + if (!app) + app = defaultApp(type, canOpenUri)?.get_name(); + + if (!this.activeFileItem.isDesktopFile && app) + menuLabel = _('Open with {foo}'); + + if (!menuLabel || this.activeFileItem.isAppImageFile) + menuLabel = _('Open'); + + if (menuLabel) { + openMenu.append( + menuLabel.replace('{foo}', app), + 'app.openOneFileAction' + ); + } + } + } + + if (fileItem.isAllSelectable && + !this._desktopManager.checkIfSpecialFilesAreSelected() && + (selectedItemsNum >= 1) + ) { + let addedExtractHere = false; + if (this._getExtractableAutoAr()) { + addedExtractHere = true; + openMenu.append(_('Extract Here'), 'app.extractautoar'); + } + if (selectedItemsNum === 1 && this._getExtractable()) { + if (!addedExtractHere) + openMenu.append(_('Extract Here'), 'app.extracthere'); + + openMenu.append(_('Extract To...'), 'app.extractto'); + } + } + + if (fileItem.isDirectory && + selectedItemsNum === 1 && + !fileItem.isDrive && + !fileItem.isTrash) + openMenu.append(_('Open With...'), 'app.doopenwith'); + + if (!this.activeFileItem.isStackMarker && + !fileItem.isDirectory) { + openMenu.append( + selectedItemsNum > 1 + ? _('Open All With Other Application...') + : _('Open With...'), + 'app.doopenwith' + ); + + if (this._DBusUtils.discreteGpuAvailable && + fileItem.trustedDesktopFile) { + openMenu.append( + _('Launch using Integrated Graphics Card'), + 'app.graphicslaunch' + ); + } + } + + const keepStacked = + this._Prefs.desktopSettings.get_boolean('keep-stacked'); + + if (keepStacked && + !fileItem.stackUnique) { + if (!fileItem.isSpecial && + !fileItem.isDirectory && + !fileItem.isValidDesktopFile + ) { + const contentType = fileItem.attributeContentType; + const typeInList = + this._Prefs.UnstackList.includes(contentType); + + const menuitem = + Gio.MenuItem.new( + typeInList + ? _('Stack This Type') + : _('Unstack This Type'), + null + ); + + const variant = GLib.Variant.new('s', contentType); + + menuitem.set_action_and_target_value( + 'app.stackunstack', + variant + ); + openMenu.append_item(menuitem); + } + } + + // fileExtra == NONE + + if (fileItem.isAllSelectable && !fileItem.isStackMarker) { + const contentType = fileItem.attributeContentType; + if (fileItem.attributeCanExecute && + !fileItem.isDirectory && + !fileItem.isDesktopFile && + !fileItem.isAppImageFile && + fileItem.execLine && + Gio.content_type_can_be_executable(contentType)) + runAsProgram.append(_('Run as a Program'), 'app.runasaprogram'); + + if (scriptsSubmenu !== null) + openMenu.append_submenu(_('Scripts'), scriptsSubmenu); + + const allowCutCopyTrash = + !this._desktopManager.checkIfSpecialFilesAreSelected(); + if (allowCutCopyTrash) { + cutCopyPasteMenu.append(_('Cut'), 'app.docut'); + cutCopyPasteMenu.append(_('Copy'), 'app.docopy'); + } + + if (!this._desktopManager.checkIfSpecialFilesAreSelected()) { + cutCopyPasteMenu.append(_('Move to...'), 'app.bulkMove'); + cutCopyPasteMenu.append(_('Copy to...'), 'app.bulkCopy'); + } + + if (fileItem.canRename && (selectedItemsNum === 1)) + trashMenu.append(_('Rename…'), 'app.dorename'); + + if (fileItem.isAllSelectable && + !this._desktopManager.checkIfSpecialFilesAreSelected() && + (selectedItemsNum >= 1)) { + trashMenu.append(_('Create Link...'), 'app.makeLinks'); + + if (this._desktopManager + .getCurrentSelection() + ?.every(f => f.isDirectory)) { + trashMenu.append( + Gettext.ngettext( + 'Compress {0} folder', + 'Compress {0} folders', selectedItemsNum) + .replace('{0}', selectedItemsNum), + 'app.compressfiles' + ); + } else { + trashMenu.append( + Gettext.ngettext( + 'Compress {0} file', + 'Compress {0} files', selectedItemsNum) + .replace('{0}', selectedItemsNum), + 'app.compressfiles' + ); + } + + trashMenu.append(_('Email to...'), 'app.sendto'); + + if (!this._desktopManager.checkIfDirectoryIsSelected()) { + const sel = this._desktopManager.getCurrentSelection(); + const remoteoperation = + this._DBusUtils.RemoteSendFileOperations; + const gsconnectsubmenu = + remoteoperation.create_gsconnect_menu(sel); + if (gsconnectsubmenu) { + trashMenu.append_submenu( + _('Send to Mobile Device'), + gsconnectsubmenu + ); + } + } + } + + if (allowCutCopyTrash) { + trashMenu.append(_('Move to Trash'), 'app.movetotrash'); + + const showDeletePermanently = + this._Prefs.nautilusSettings + .get_boolean('show-delete-permanently'); + + if (showDeletePermanently) { + trashMenu.append( + _('Delete permanently'), + 'app.deletepermanantly' + ); + } + } + + if ((fileItem.isValidDesktopFile || fileItem.isAppImageFile) && + !this._desktopManager.writableByOthers && + !fileItem.writableByOthers && + (selectedItemsNum === 1)) { + if (fileItem.isDesktopFile) { + allowLaunchingMenu.append( + fileItem.trustedDesktopFile + ? _("Don't Allow Launching") + : _('Allow Launching'), + 'app.allowdisallowlaunching'); + if (fileItem.hasActions) { + const actionItem = + Gio.MenuItem.new_section( + null, + fileItem.getMenu() + ); + allowLaunchingMenu.append_item(actionItem); + } + } else if (fileItem.isAppImageFile) { + allowLaunchingMenu.append( + fileItem.trustedAppImageFile + ? _("Don't Allow Launching") + : _('Allow Launching'), + 'app.allowdisallowlaunching'); + } + } + } + + // fileExtra == TRASH + + if (fileItem.isTrash) + emptyTrashMenu.append(_('Empty Trash'), 'app.emptytrash'); + + // fileExtra == EXTERNAL_DRIVE + + if (fileItem.isDrive) { + if (fileItem.canEject) + driveMenu.append(_('Eject'), 'app.eject'); + + if (fileItem.canUnmount) + driveMenu.append(_('Unmount'), 'app.unmount'); + } + + if (!fileItem.isStackMarker) { + propertiesMenu.append( + selectedItemsNum > 1 + ? _('Common Properties') + : _('Properties'), + 'app.properties' + ); + + const nautilusName = this._Prefs.NautilusName; + showInFilesMenu.append( + selectedItemsNum > 1 + ? _('Show All in {0}').replace('{0}', nautilusName) + : _('Show in {0}').replace('{0}', nautilusName), + 'app.showinfiles' + ); + } + + if (fileItem.isDirectory && + (fileItem.path !== null) && + (selectedItemsNum === 1)) { + const terminalstring = this._Prefs.TerminalName; + + const menuitem = Gio.MenuItem.new( + _('Open in {0}').replace('{0}', terminalstring), + null + ); + + menuitem.set_action_and_target_value( + 'app.openinterminal', + null + ); + + openInTerminalMenu.append_item(menuitem); + } + + this._menu.append_section(null, makeFolderMenu); + this._menu.append_section(null, openMenu); + this._menu.append_section(null, runAsProgram); + this._menu.append_section(null, cutCopyPasteMenu); + this._menu.append_section(null, trashMenu); + this._menu.append_section(null, allowLaunchingMenu); + this._menu.append_section(null, emptyTrashMenu); + if (fileItem.canEject || fileItem.canUnmount) + this._menu.append_section(null, driveMenu); + this._menu.append_section(null, showInFilesMenu); + this._menu.append_section(null, openInTerminalMenu); + this._menu.append_section(null, propertiesMenu); + + this.popupmenu = Gtk.PopoverMenu.new_from_model(this._menu); + this.popupmenu.set_parent(fileItem._grid._container); + this.popupmenu.set_pointing_to(menulocation); + const menuGtkPosition = + fileItem._grid.getIntelligentPosition(menulocation); + if (menuGtkPosition !== null) + this.popupmenu.set_position(menuGtkPosition); + this.popupmenu.popup(); + this.popupmenu.connect('closed', () => { + GLib.idle_add(GLib.PRIORITY_DEFAULT_IDLE, () => { + this.popupmenu.unparent(); + this.popupmenu = null; + if (this.popupmenuclosed) + this.popupmenuclosed(true); + this.popupmenuclosed = null; + return GLib.SOURCE_REMOVE; + }); + }); + } + + menuclosed = () => { + return new Promise(resolve => { + this.popupmenuclosed = resolve; + }); + }; + + showToolTip(fileItem) { + if (this._toolTipPopup) + return; + if (this.popupmenu && (fileItem.uri === this.activeFileItem.uri)) + return; + this._toolTipPopup = Gtk.Popover.new(); + this._toolTipPopup.set_pointing_to(fileItem.iconLocalWindowRectangle); + this._toolTipPopup.set_autohide(false); + this._toolTipLabel = Gtk.Label.new(fileItem._currentFileName); + this._toolTipPopup.set_child(this._toolTipLabel); + this._toolTipPopup.set_parent(fileItem._grid._window); + const popupLocation = + new Gdk.Rectangle({ + x: fileItem.iconLocalWindowRectangle.x, + y: fileItem.iconLocalWindowRectangle.y, + width: 1, + height: 1, + }); + const popupGtkPosition = + fileItem._grid.getIntelligentPosition(popupLocation); + if (popupGtkPosition !== null) + this._toolTipPopup.set_position(popupGtkPosition); + this._toolTipPopup.popup(); + this._toolTipPopup.connect( + 'closed', + () => { + this._toolTipPopup.unparent(); + this._toolTipPopup = null; + } + ); + } + + hideToolTip() { + if (this._toolTipPopup) + this._toolTipPopup.popdown(); + } + + _getExtractableAutoAr() { + const fileList = this._desktopManager.getCurrentSelection(); + const remotecompress = this._DBusUtils.GnomeArchiveManager; + if (remotecompress.isAvailable && (fileList.length === 1)) + return false; + + for (let item of fileList) { + if (!this._desktopManager.autoAr.fileIsCompressed(item.fileName)) + return false; + } + return true; + } + + _getExtractable() { + const item = this._desktopManager.getCurrentSelection()[0]; + + if (!item) + return false; + + const contentType = item.attributeContentType; + + const decompressibleTypes = + this._DBusUtils.RemoteFileOperations.decompressibleTypes; + + return decompressibleTypes.includes(contentType); + } + + set activeFileItem(fileItem) { + this._activeFileItem = fileItem; + } + + get activeFileItem() { + return this._activeFileItem; + } +}; + + +const FileItemActions = class { + constructor(desktopManager) { + this._desktopManager = desktopManager; + this._mainApp = this._desktopManager.mainApp; + this._codePath = this._desktopManager.codePath; + this._Prefs = this._desktopManager.Prefs; + this._DBusUtils = this._desktopManager.DBusUtils; + this._DesktopIconsUtil = this._desktopManager.DesktopIconsUtil; + this._Enums = this._desktopManager.Enums; + this._appChooser = this._desktopManager.appChooser; + this._dbusManager = this._desktopManager.dbusManager; + this._dragManager = this._desktopManager.dragManager; + this._createFileItemMenuActions(); + } + + _createFileItemMenuActions() { + const openMultipleFileAction = + Gio.SimpleAction.new('openMultipleFileAction', null); + openMultipleFileAction.connect( + 'activate', + this._doMultiOpen.bind(this) + ); + this._mainApp.add_action(openMultipleFileAction); + + const openOneFileAction = + Gio.SimpleAction.new('openOneFileAction', null); + openOneFileAction.connect( + 'activate', + () => { + if (this.activeFileItem) { + if (this.activeFileItem.isStackMarker) { + this._onToggleStackUnstackThisTypeClicked( + this.activeFileItem.attributeContentType); + } else { + this.activeFileItem.doOpen(); + } + } + } + ); + openOneFileAction.set_state_hint(GLib.Variant.new('s', _('Open Item'))); + this._mainApp.add_action(openOneFileAction); + + const stackunstack = + Gio.SimpleAction.new('stackunstack', GLib.VariantType.new('s')); + stackunstack.connect( + 'activate', + (_action, paramenter) => { + this._onToggleStackUnstackThisTypeClicked(paramenter.unpack()); + }); + this._mainApp.add_action(stackunstack); + + const doopenwith = Gio.SimpleAction.new('doopenwith', null); + doopenwith.connect('activate', () => { + this._doOpenWith().catch(e => logError(e)); + }); + this._mainApp.add_action(doopenwith); + + const graphicslaunch = Gio.SimpleAction.new('graphicslaunch', null); + graphicslaunch.connect('activate', () => { + if (!this.activeFileItem) + return; + this.activeFileItem._doDiscreteGpu(); + }); + this._mainApp.add_action(graphicslaunch); + + const runasaprogram = Gio.SimpleAction.new('runasaprogram', null); + runasaprogram.connect( + 'activate', + this._runExecutableScript.bind(this) + ); + this._mainApp.add_action(runasaprogram); + + this._docut = Gio.SimpleAction.new('docut', null); + this._docut.connect( + 'activate', + this._doCut.bind(this) + ); + this._mainApp.add_action(this._docut); + + this._docopy = Gio.SimpleAction.new('docopy', null); + this._docopy.connect( + 'activate', + this._doCopy.bind(this) + ); + this._mainApp.add_action(this._docopy); + + const dorename = Gio.SimpleAction.new('dorename', null); + dorename.connect('activate', () => { + this._desktopManager + .doRename(this.activeFileItem, false) + .catch(e => logError(e)); + }); + this._mainApp.add_action(dorename); + + this.moveToTrash = Gio.SimpleAction.new('movetotrash', null); + this.moveToTrash.connect( + 'activate', + () => this.doTrash() + ); + + this._mainApp.add_action(this.moveToTrash); + + this.deletePermanantly = + Gio.SimpleAction.new('deletepermanantly', null); + this.deletePermanantly.connect( + 'activate', + () => this.doDeletePermanently() + ); + + this._mainApp.add_action(this.deletePermanantly); + + const emptytrash = Gio.SimpleAction.new('emptytrash', null); + emptytrash.connect( + 'activate', + () => this.doEmptyTrash() + ); + this._mainApp.add_action(emptytrash); + + const allowdisallowlaunching = Gio.SimpleAction.new( + 'allowdisallowlaunching', null); + allowdisallowlaunching.connect('activate', () => { + if (!this.activeFileItem) + return; + + this.activeFileItem + .onAllowDisallowLaunchingClicked() + .catch(e => console.error(e)); + }); + this._mainApp.add_action(allowdisallowlaunching); + + const eject = Gio.SimpleAction.new('eject', null); + eject.connect('activate', () => { + this.activeFileItem.eject().catch(e => console.error(e)); + }); + this._mainApp.add_action(eject); + + const unmount = Gio.SimpleAction.new('unmount', null); + unmount.connect('activate', () => { + this.activeFileItem.unmount().catch(e => console.error(e)); + }); + this._mainApp.add_action(unmount); + + const extractautoar = Gio.SimpleAction.new('extractautoar', null); + extractautoar.connect( + 'activate', + () => { + this._desktopManager.getCurrentSelection() + ?.forEach( + f => this._desktopManager.autoAr.extractFile(f.fileName)); + } + ); + this._mainApp.add_action(extractautoar); + + const extracthere = Gio.SimpleAction.new('extracthere', null); + extracthere.connect( + 'activate', + this._extractFileFromSelection.bind(this, true) + ); + this._mainApp.add_action(extracthere); + + const extractto = Gio.SimpleAction.new('extractto', null); + extractto.connect( + 'activate', + this._extractFileFromSelection.bind(this, false) + ); + this._mainApp.add_action(extractto); + + const sendto = Gio.SimpleAction.new('sendto', null); + sendto.connect( + 'activate', + this._mailFilesFromSelection.bind(this, null) + ); + this._mainApp.add_action(sendto); + + const compressfiles = Gio.SimpleAction.new('compressfiles', null); + compressfiles.connect( + 'activate', + this._doCompressFilesFromSelection.bind(this, null) + ); + this._mainApp.add_action(compressfiles); + + const newfolderfromselection = + Gio.SimpleAction.new('newfolderfromselection', null); + newfolderfromselection.connect( + 'activate', + this._newFolderFromSelection.bind(this) + ); + this._mainApp.add_action(newfolderfromselection); + + const properties = Gio.SimpleAction.new('properties', null); + properties.connect( + 'activate', + this._onPropertiesClicked.bind(this) + ); + this._mainApp.add_action(properties); + + const showinfiles = Gio.SimpleAction.new('showinfiles', null); + showinfiles.connect( + 'activate', + this._onShowInFilesClicked.bind(this) + ); + this._mainApp.add_action(showinfiles); + + const openinterminal = Gio.SimpleAction.new('openinterminal', null); + openinterminal.connect( + 'activate', + this._openInTerminal.bind(this) + ); + this._mainApp.add_action(openinterminal); + + const makeLinks = Gio.SimpleAction.new('makeLinks', null); + makeLinks.connect( + 'activate', + this._makeLinks.bind(this) + ); + + this._mainApp.add_action(makeLinks); + + const bulkCopy = Gio.SimpleAction.new('bulkCopy', null); + bulkCopy.connect( + 'activate', + this._bulkCopy.bind(this) + ); + this._mainApp.add_action(bulkCopy); + + const bulkMove = Gio.SimpleAction.new('bulkMove', null); + bulkMove.connect( + 'activate', + this._bulkMove.bind(this) + ); + this._mainApp.add_action(bulkMove); + + const onScriptClicked = + Gio.SimpleAction.new('onScriptClicked', GLib.VariantType.new('s')); + onScriptClicked.connect( + 'activate', + (_action, parameter) => { + this._onScriptClicked(parameter.unpack()); + } + ); + this._mainApp.add_action(onScriptClicked); + + const desktopAction = + Gio.SimpleAction.new('desktopAction', GLib.VariantType.new('as')); + desktopAction.connect( + 'activate', + (_action, parameter) => { + const [path, actionName, action] = parameter.deepUnpack(); + this._desktopFileAction(path, actionName, action); + } + ); + this._mainApp.add_action(desktopAction); + } + + _doMultiOpen() { + for (let fileItem of this._desktopManager.getCurrentSelection()) { + fileItem.unsetSelected(); + fileItem.doOpen(); + } + } + + _onToggleStackUnstackThisTypeClicked( + type, typeInList = null, unstackList = null) { + if (!unstackList) { + unstackList = this._Prefs.UnstackList; + typeInList = unstackList.includes(type); + } + if (typeInList) { + let index = unstackList.indexOf(type); + unstackList.splice(index, 1); + } else { + unstackList.push(type); + } + this._Prefs.UnstackList = unstackList; + } + + async _doOpenWith() { + const fileItems = this._desktopManager.getCurrentSelection(); + if (!this.activeFileItem) + this.activeFileItem = fileItems[0]; + if (fileItems) { + const context = Gdk.Display.get_default().get_app_launch_context(); + context.set_timestamp(Gdk.CURRENT_TIME); + let chooser = + new this._appChooser.AppChooserDialog( + fileItems, + this.activeFileItem, + this._dbusManager, + this._DesktopIconsUtil + ); + this._mainApp.activate_action('textEntryAccelsTurnOff', null); + chooser.show(); + const appInfo = + await chooser.getApplicationSelected() + .catch(e => console.error(e)); + if (appInfo) { + const fileList = []; + for (let item of fileItems) + fileList.push(item.file); + + appInfo.launch(fileList, context); + } + this._mainApp.activate_action('textEntryAccelsTurnOn', null); + chooser.hide(); + chooser.finalize(); + chooser = null; + } + } + + _runExecutableScript() { + if (!this.activeFileItem) + return; + + this._DesktopIconsUtil.trySpawn(this._desktopDir.get_path(), + [this.activeFileItem.path], null); + } + + async _extractFileFromSelection(extractHere) { + let extractFileItemURI; + let extractFolderName; + let position; + const header = _('Extraction Cancelled'); + const text = _('Unable to extract File, no destination folder'); + const remOp = this._DBusUtils.RemoteFileOperations; + + for (let fileItem of this._desktopManager.getCurrentSelection()) { + extractFileItemURI = fileItem.file.get_uri(); + extractFolderName = fileItem.fileName; + position = fileItem.getCoordinates().slice(0, 2); + fileItem.unsetSelected(); + } + + if (extractHere) { + extractFolderName = + this._DesktopIconsUtil + .getFileExtensionOffset(extractFolderName).basename; + const targetURI = + await this._desktopManager + .doNewFolder(position, extractFolderName, {rename: false}); + if (targetURI) + remOp.ExtractRemote(extractFileItemURI, targetURI, true); + else + this._desktopManager.dbusManager.doNotify(header, text); + + return; + } + + const folder = await this._getSelectedFolderGio() + .catch(e => console.error(e)); + + if (folder) + remOp.ExtractRemote(extractFileItemURI, folder.get_uri(), true); + else + this._desktopManager.dbusManager.doNotify(header, text); + } + + async _getSelectedFolderGio(dialogTitle = null, selectionText = null) { + let result; + try { + result = + await this._getSelectedFolderGioNewMethod( + dialogTitle, + selectionText + ); + } catch (e) { + console.log('Reverting to old method of selecting'); + result = + await this._getSelectedFolderGioOldMethod( + dialogTitle, + selectionText + ); + } + return result; + } + + _getSelectedFolderGioNewMethod(dialogTitle = null, selectionText = null) { + return new Promise(resolve => { + if (!dialogTitle) + dialogTitle = _('Select Destination'); + const window = this._mainApp.get_active_window(); + if (!selectionText) + selectionText = _('Select'); + const dialog = new Gtk.FileDialog({ + title: dialogTitle, + accept_label: selectionText, + modal: true, + initial_folder: this._desktopDir, + }); + dialog.select_folder(window, null, (actor, gioasyncresponse) => { + let folder; + try { + folder = actor.select_folder_finish(gioasyncresponse); + } catch (e) { + resolve(false); + } + if (folder) + resolve(folder); + else + resolve(false); + }); + }); + } + + + _getSelectedFolderGioOldMethod(dialogTitle = null, selectionText = null) { + return new Promise(resolve => { + if (!dialogTitle) + dialogTitle = _('Select Destination'); + if (!selectionText) + selectionText = _('Select'); + let returnValue = null; + const window = this._mainApp.get_active_window(); + const dialog = new Gtk.FileChooserDialog({title: dialogTitle}); + dialog.set_action(Gtk.FileChooserAction.SELECT_FOLDER); + dialog.set_create_folders(true); + dialog.set_current_folder(this._desktopDir); + dialog.add_button(_('Cancel'), Gtk.ResponseType.CANCEL); + dialog.add_button(selectionText, Gtk.ResponseType.ACCEPT); + dialog.set_transient_for(window); + const modal = true; + dialog.set_modal(modal); + this._DesktopIconsUtil.windowHidePagerTaskbarModal(dialog, modal); + this._mainApp.activate_action('textEntryAccelsTurnOff', null); + dialog.show(); + dialog.present_with_time(Gdk.CURRENT_TIME); + dialog.connect('close', () => { + dialog.response(Gtk.ResponseType.CANCEL); + }); + dialog.connect( + 'response', + (_actor, response) => { + if (response === Gtk.ResponseType.ACCEPT) { + const folder = dialog.get_file(); + if (folder) + returnValue = folder; + else + returnValue = false; + } + this._mainApp + .activate_action('textEntryAccelsTurnOn', null); + dialog.destroy(); + resolve(returnValue); + } + ); + }); + } + + _mailFilesFromSelection() { + if (this._desktopManager.checkIfSpecialFilesAreSelected()) + return; + const pathnameArray = this._desktopManager.getCurrentSelection() + .map(f => f.path); + + if (this._desktopManager.checkIfDirectoryIsSelected()) { + this._mailzippedFilesFromSelection(pathnameArray) + .catch(e => console.error(e)); + return; + } + this._xdgEmailFiles(pathnameArray); + this._desktopManager.unselectAll(); + } + + async _mailzippedFilesFromSelection(pathnameArray) { + this._mainApp.activate_action('textEntryAccelsTurnOff', null); + const chooser = new Gtk.AlertDialog(); + chooser.set_message(_('Can not email a Directory')); + chooser.set_detail( + _('Selection includes a Directory, compress to a .zip file first?') + ); + chooser.buttons = [_('Cancel'), _('OK')]; + chooser.set_modal(true); + chooser.set_cancel_button(0); + chooser.set_default_button(1); + await chooser.choose( + this.activeFileItem._grid._window, + null, + (actor, choice) => { + const buttonpress = actor.choose_finish(choice); + if (buttonpress === 1) { + const archive = this._makezippedArchive(pathnameArray); + if (archive) + this._xdgEmailFiles([archive]); + } + this._desktopManager.unselectAll(); + } + ); + this._mainApp.activate_action('textEntryAccelsTurnOn', null); + } + + _makezippedArchive(pathnameArray) { + const zipCommand = GLib.find_program_in_path(this._Enums.ZIP_CMD); + if (!zipCommand) { + console.log('zip command not installed, cannot send email'); + const header = _('Mail Error'); + const text = + _('Unable to find zip command, please install the program'); + this._dbusManager.doNotify(header, text); + return null; + } + + // Translators - basename for a zipped archive created for mailing + const archiveName = _('Archive.zip'); + + let archiveFile; + let checkDir; + // Create a random directory in /tmp + do { + const randomString = GLib.uuid_string_random().slice(0, 5); + const dir = `/tmp/gtk4-ding-${randomString}`; + archiveFile = `${dir}/${archiveName}`; + checkDir = Gio.File.new_for_commandline_arg(dir); + } while (!checkDir.make_directory(null)); + + const args = [zipCommand, this._Enums.ZIP_CMD_OPTIONS, archiveFile]; + try { + const async = false; + const env = null; + const workdir = this._desktopDir.get_path(); + const relativePathArray = + pathnameArray.map(f => GLib.path_get_basename(f)); + const spawncommand = this._DesktopIconsUtil.trySpawn; + spawncommand(workdir, args.concat(relativePathArray), env, async); + } catch (e) { + console.log(`Error Zipping Files, ${e}`); + const header = _('Mail Error'); + const text = _('There was an error in creating a zip archive'); + this._dbusManager.doNotify(header, text); + } + + if (Gio.File.new_for_commandline_arg(archiveFile).query_exists(null)) + return archiveFile; + else + return null; + } + + _xdgEmailFiles(pathnameArray) { + const xdgEmailCommand = + GLib.find_program_in_path(this._Enums.XDG_EMAIL_CMD); + + if (!xdgEmailCommand) { + console.log('xdg-email command not installed, cannot send email'); + const header = _('Mail Error'); + const text = + _('Unable to find xdg-email, please install the program'); + this._dbusManager.doNotify(header, text); + return; + } + + const args = [xdgEmailCommand]; + + try { + const newPathNameArray = []; + pathnameArray.forEach(f => { + newPathNameArray.push(this._Enums.XDG_EMAIL_CMD_OPTIONS); + newPathNameArray.push(f); + }); + const spawncommand = this._DesktopIconsUtil.trySpawn; + spawncommand(null, args.concat(newPathNameArray)); + } catch (e) { + console.log(`Error emailing Files, ${e}`); + const header = _('Mail Error'); + const text = _('There was an error in emailing Files'); + this._dbusManager.doNotify(header, text); + } + } + + _doCompressFilesFromSelection() { + const desktopFolder = this._desktopDir; + if (!desktopFolder) + return; + + const toCompress = this._desktopManager.getCurrentSelection(); + if (!toCompress) + return; + + const uriListtoCompress = toCompress?.map(f => f.uri); + + const remotecompressAvailable = + this._DBusUtils.GnomeArchiveManager.isAvailable; + + if (remotecompressAvailable) { + this._DBusUtils.RemoteFileOperations.CompressRemote( + uriListtoCompress, + desktopFolder.get_uri(), + true + ); + } else { + this._desktopManager.autoAr.compressFileItems( + toCompress, + desktopFolder.get_path() + ); + } + + this._desktopManager.unselectAll(); + } + + async _newFolderFromSelection() { + const event = { + 'parentWindow': this.activeFileItem._grid._window, + 'timestamp': Gdk.CURRENT_TIME, + }; + await this._doNewFolderFromSelection( + this.activeFileItem.savedCoordinates, + this.activeFileItem, + event + ).catch(e => console.error(e)); + } + + async _doNewFolderFromSelection(newposition = null, clickedItem, event) { + if (!clickedItem) + return; + const newFolderFileItems = + this._desktopManager.getCurrentSelectionAsUri(); + if (!newFolderFileItems) + return; + + const position = newposition + ? newposition + : clickedItem.savedCoordinates; + const newFolder = await this._desktopManager.doNewFolder(position); + + if (!newFolder) + return; + + this._desktopManager.unselectAll(); + clickedItem.removeFromGrid({callOnDestroy: false}); + this._DBusUtils.RemoteFileOperations.pushEvent(event); + const remoteOp = this._DBusUtils.RemoteFileOperations; + remoteOp.MoveURIsRemote(newFolderFileItems, newFolder); + } + + _onPropertiesClicked() { + const propList = this._desktopManager.getCurrentSelectionAsUri(); + if (!propList) + return; + + const timestamp = Gdk.CURRENT_TIME; + + this._desktopManager + .DBusUtils + .RemoteFileOperations + .ShowItemPropertiesRemote( + propList, + timestamp + ); + } + + _onShowInFilesClicked() { + const showInFilesList = this._desktopManager.getCurrentSelectionAsUri(); + if (!showInFilesList) + return; + + const timestamp = Gdk.CURRENT_TIME; + + this._desktopManager + .DBusUtils + .RemoteFileOperations + .ShowItemsRemote( + showInFilesList, + timestamp + ); + } + + _openInTerminal() { + if (!this.activeFileItem || !this.activeFileItem.isDirectory) + return; + + this.launchTerminal(this.activeFileItem.path, null); + } + + + launchTerminal(fileItemPath = null, commandLine = null) { + let workingdir = + fileItemPath ? fileItemPath : this._desktopDir.get_path(); + + if (!GLib.file_test(workingdir, GLib.FileTest.EXISTS)) { + const header = _('Can Not open the Working Directory'); + const text = _(`${workingdir} does not exist`); + this._dbusManager.doNotify(header, text); + return; + } + + let success = false; + const xdgTerminalExec = + GLib.find_program_in_path(this._Enums.XDG_TERMINAL_EXEC); + + if (xdgTerminalExec) { + try { + commandLine = commandLine ? commandLine : ''; + const [args] = + GLib.shell_parse_argv(`${xdgTerminalExec} ${commandLine}`) + .slice(1); + this._DesktopIconsUtil.trySpawn(workingdir, args, null); + console.log('Executed xdg-terminal-exec'); + success = true; + } catch (e) { + console.log(`Error opening xdg-terminal-exec ${e}`); + success = false; + } + } + + if (success) + return; + + if (this._Prefs.Terminal) { + this._Prefs.TerminalGioList.some(t => { + let exec = + t.get_string(this._Enums.DESKTOPFILE_TERMINAL_EXEC_KEY); + if (exec === 'ptyxis') + exec = `${exec} --new-window -d ${workingdir}`; + let execswitch = + t.get_string(this._Enums.DESKTOPFILE_TERMINAL_EXEC_SWITCH); + execswitch = execswitch ? execswitch : '-e'; + commandLine = commandLine ? `${execswitch} ${commandLine}` : ''; + const [args] = + GLib.shell_parse_argv(`${exec} ${commandLine}`) + .slice(1); + try { + this._DesktopIconsUtil.trySpawn(workingdir, args, null); + success = true; + } catch (e) { + console.log(`{Error opening ${t.get_string('Name')}, ${e}`); + success = false; + } + return success; + }); + } else { + const header = _('Unable to Open in Gnome Console'); + const text = + _('Please Install Gnome Console or other Terminal Program'); + this._dbusManager.doNotify(header, text); + } + + if (success) + return; + + const header = + _('Unable to Open {0}').replace('{0}', this._Prefs.TerminalName); + const text = + _('Please Install {0}').replace('{0}', this._Prefs.TerminalName); + this._dbusManager.doNotify(header, text); + } + + _makeLinks() { + const toLink = this._desktopManager.getCurrentSelectionAsUri(); + if (!toLink || this._desktopManager.checkIfSpecialFilesAreSelected()) + return; + + const desktopFolderUri = this._desktopDir.get_uri(); + const [X, Y] = this.activeFileItem.getCoordinates().slice(0, 2); + this._dragManager.makeLinks(toLink, desktopFolderUri, X, Y) + .catch(e => logError(e)); + } + + _doCopy() { + const copy = true; + this._manageCutCopy(copy); + } + + _doCut() { + const cut = false; + this._manageCutCopy(cut); + } + + async _bulkCopy() { + if (this._desktopManager.checkIfSpecialFilesAreSelected()) + return; + + const copyList = this._desktopManager.getCurrentSelectionAsUri(); + if (!copyList) + return; + + const folder = await this._getSelectedFolderGio() + .catch(e => console.error(e)); + + if (folder) { + this._DBusUtils + .RemoteFileOperations + .CopyURIsRemote(copyList, folder.get_uri()); + + return; + } + + const header = _('Copy Cancelled'); + const text = _('Unable to copy Files, no destination folder'); + this._dbusManager.doNotify(header, text); + } + + async _bulkMove() { + if (this._desktopManager.checkIfSpecialFilesAreSelected()) + return; + + const moveList = this._desktopManager.getCurrentSelectionAsUri(); + if (!moveList) + return; + + const folder = await this._getSelectedFolderGio() + .catch(e => console.error(e)); + + if (folder) { + this._dragManager.saveCurrentFileCoordinatesForUndo(); + this._DBusUtils + .RemoteFileOperations + .MoveURIsRemote(moveList, folder.get_uri()); + return; + } + + const header = _('Move Cancelled'); + const text = _('Unable to move Files, no destination folder'); + this._dbusManager.doNotify(header, text); + } + + _desktopFileAction(path, actionName, action) { + if (!this.activeFileItem) + return; + + if (path === this.activeFileItem.path && + this.activeFileItem.actionMap.has(actionName) + ) { + let context = new Gio.AppLaunchContext(); + this.activeFileItem.desktopAppInfo.launch_action(action, context); + } + } + + doTrash(localDrag = false, event = null) { + const currentSelection = this._desktopManager.getCurrentSelection(); + + if (!currentSelection) + return; + + const selectionItems = currentSelection.filter(i => !i.isSpecial); + + if (!selectionItems || !selectionItems.length) + return; + + if (!localDrag) + this._dragManager.saveCurrentFileCoordinatesForUndo(selectionItems); + + const selectionURIs = []; + + selectionItems.forEach(f => { + selectionURIs.push(f.file.get_uri()); + }); + + if (event) + this._DBusUtils.RemoteFileOperations.pushEvent(event); + + this._DBusUtils.RemoteFileOperations.TrashURIsRemote(selectionURIs); + } + + doDeletePermanently() { + const currentSelection = this._desktopManager.getCurrentSelection(); + + if (!currentSelection) + return; + + const toDelete = + currentSelection + .filter(i => !i.isSpecial) + .map(i => i.file.get_uri()); + + if (!toDelete || !toDelete.length) { + if (this._desktopManager.getCurrentSelection() + .some(i => i.isTrash) + ) + this.doEmptyTrash(); + + return; + } + + this._DBusUtils.RemoteFileOperations.DeleteURIsRemote(toDelete); + } + + doEmptyTrash(askConfirmation = true) { + this._DBusUtils.RemoteFileOperations.EmptyTrashRemote(askConfirmation); + } + + _onScriptClicked(menuItemPath) { + let pathList = 'NAUTILUS_SCRIPT_SELECTED_FILE_PATHS='; + let uriList = 'NAUTILUS_SCRIPT_SELECTED_URIS='; + let currentUri = + `NAUTILUS_SCRIPT_CURRENT_URI=${this._desktopDir.get_uri()}`; + let params = [menuItemPath]; + for (let item of this._desktopManager.getCurrentSelection()) { + if (!item.isSpecial) { + pathList += `${item.file.get_path()}\n`; + uriList += `${item.file.get_uri()}\n`; + params.push(item.file.get_path()); + } + } + + let environ = this._DesktopIconsUtil.getFilteredEnviron(); + environ.push(pathList); + environ.push(uriList); + environ.push(currentUri); + this._DesktopIconsUtil.trySpawn(null, params, environ); + } + + // Clipboard management + // ************************************************************************ */ + /* + * Before Gnome Shell 40, St API couldn't access binary data in the clipboard, + * only text data. Also, the original Desktop Icons was a pure extension, so it + * was limited to what Clutter and St offered. That was the reason why Nautilus + * accepted a text format for CUT and COPY operations in the form: + * + * x-special/nautilus-clipboard + * OPERATION + * FILE_URI + * [FILE_URI] + * [...] + * + * In Gnome Shell 40, St was enhanced and now it supports binary data; that's + * why Nautilus migrated to a binary format identified by the atom + * 'x-special/gnome-copied-files', where the CUT or COPY operation is shared. + * + * To maintain compatibility, in the past, we checked the current Gnome Shell + * version and, based on that, set the binary or the text clipboards. + * + * With the newer versions of gtk4-ding, we only set the binary version and add + * other composite providers for the plain text versions like the newer + * Nautilus/Files. + */ + + _manageCutCopy(action) { + const uriList = + this._dragManager + .fillDragDataGet(this._Enums.DndTargetInfo.TEXT_URI_LIST); + + if (!uriList?.length) + return; + + const pathList = + this._dragManager + .fillDragDataGet(this._Enums.DndTargetInfo.TEXT_PLAIN); + + const clipboard = Gdk.Display.get_default().get_clipboard(); + const textCoder = new TextEncoder(); + + let content = action ? 'copy\n' : 'cut\n'; + content += uriList?.replaceAll('\r', '').trim(); + + const encodedUriList = textCoder.encode(uriList); + const encodedPathList = textCoder.encode(pathList); + + const gnomeContentProvider = + Gdk.ContentProvider.new_for_bytes( + 'x-special/gnome-copied-files', + textCoder.encode(content) + ); + + const textUriListContentProvider = + Gdk.ContentProvider + .new_for_bytes( + this._Enums.DndTargetInfo.URI_LIST, + encodedUriList + ); + + const textListContentProvider = + Gdk.ContentProvider + .new_for_bytes( + this._Enums.DndTargetInfo.TEXT_PLAIN, + encodedPathList + ); + + const textUtf8ListContentProvider = + Gdk.ContentProvider + .new_for_bytes( + this._Enums.DndTargetInfo.TEXT_PLAIN_UTF8, + encodedPathList + ); + + const clipboardContentProvider = + Gdk.ContentProvider.new_union([ + gnomeContentProvider, + textUriListContentProvider, + textListContentProvider, + textUtf8ListContentProvider, + ]); + + clipboard.set_content(clipboardContentProvider); + } + + + get _desktopDir() { + return this._desktopManager._desktopDir; + } + + get activeFileItem() { + return this._desktopManager.activeFileItem; + } +}; diff --git a/ding/app/gnomeShellDragDrop.js b/ding/app/gnomeShellDragDrop.js new file mode 100644 index 0000000..b674e27 --- /dev/null +++ b/ding/app/gnomeShellDragDrop.js @@ -0,0 +1,368 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Gtk4 Port Copyright (C) 2023 Sundeep Mediratta (smedius@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 . + */ +import {Gdk, Gio, GLib, DesktopAppInfo} from '../dependencies/gi.js'; +import {_} from '../dependencies/gettext.js'; + +export {GnomeShellDrag}; + +const GnomeShellDrag = class { + constructor(desktopManager) { + this._DBusUtils = desktopManager.DBusUtils; + + if (!this._DBusUtils.RemoteExtensionControl.isAvailable) + return; + + this._desktopManager = desktopManager; + this._dragManager = desktopManager.dragManager; + this._dragItem = this._dragManager.dragItem; + this._DesktopIconsUtil = desktopManager.DesktopIconsUtil; + this._Enums = desktopManager.Enums; + this._Prefs = desktopManager.Prefs; + this._selectedFiles = desktopManager.getCurrentSelection(); + this._selectedFilesURI = desktopManager.getCurrentSelectionAsUri(); + this._dockSpringOpenFile = null; + this._currentDesktopFileAppPath = null; + this._dockSpringOpenTime = GLib.get_monotonic_time(); + this._dockSpringOpenComplete = false; + this._startMonitoringDockUriNavigation(); + } + + destroy() { + this._stopMonitoringDockUriNavigation(); + } + + _startMonitoringDockUriNavigation() { + // Careful, we have to and are calling an async function + // in the timer, which will always return true, + // therefore the function has to kill itself if + // not killed by drag end... + this._dockUriSpringTimerID = GLib.timeout_add( + GLib.PRIORITY_DEFAULT, + this._Enums.DND_SHELL_HOVER_POLL, + async () => { + try { + await this._dockUriSpringTimerFunction(); + } catch (e) { + console.error(e); + } + return GLib.SOURCE_REMOVE; + } + ); + } + + async _lookOffLeftEdgeForDrop(shellDropCoordinates) { + let leftEdge = shellDropCoordinates; + + // look upto 50 pixels away for a drop target, + // off the drag cursor to the left, increment 10 + // 5 iterations + for (let i = 0; i <= 50; i += 10) { + leftEdge[0] -= i; + + this._currentDesktopFileAppPath = + // eslint-disable-next-line no-await-in-loop + await this._DBusUtils.RemoteExtensionControl + .getDropTargetAppInfoDesktopFile(leftEdge) + .catch(e => console.error(e)); + + if (this._currentDesktopFileAppPath) + break; + } + + this._setShellDropCursor(); + } + + async _dockUriSpringTimerFunction() { + // Failsafe kill the function - remove the timer if going on for + // too long, default 30 seconds + if (!this._dragItem || + (GLib.get_monotonic_time() - this._dockSpringOpenTime) > + this._Enums.DND_SHELL_HOVER_POLL * 150000 + ) { + const stopID = this._dockUriSpringTimerID; + this._dockUriSpringTimerID = 0; + this._setShellDropCursor(this._Enums.ShellDropCursor.DEFAULT); + + if (stopID) + GLib.Source.remove(stopID); + return GLib.SOURCE_REMOVE; + } + + const shellDropCoordinates = + await this._DBusUtils.RemoteExtensionControl + .getDropTargetCoordinates() + .catch(e => console.error(e)); + + this._lookOffLeftEdgeForDrop(shellDropCoordinates); + + if (!this._currentDesktopFileAppPath || + !(this._currentDesktopFileAppPath.endsWith('Nautilus.desktop') || + this._currentDesktopFileAppPath.startsWith('file://') || + this._currentDesktopFileAppPath.startsWith('davs://')) + ) + return GLib.SOURCE_CONTINUE; + + + // On a URI, start hover timing and reset timer + if (!this._dockSpringOpenFile) { + this._dockSpringOpenFile = this._currentDesktopFileAppPath; + this._dockSpringOpenTime = GLib.get_monotonic_time(); + return GLib.SOURCE_CONTINUE; + } + + // Open the URI, got here after hover timing started + if (this._dockSpringOpenFile === this._currentDesktopFileAppPath && + !this._dockSpringOpenComplete && + ((GLib.get_monotonic_time() - this._dockSpringOpenTime) > + this._Enums.DND_HOVER_TIMEOUT * 1000) + ) { + const context = Gdk.Display.get_default().get_app_launch_context(); + context.set_timestamp(Gdk.CURRENT_TIME); + let uri; + + try { + if (this._dockSpringOpenFile.endsWith('Nautilus.desktop')) + uri = this._desktopDir.get_uri(); + else + uri = this._dockSpringOpenFile; + + if (this._Prefs.openFolderOnDndHover) + Gio.AppInfo.launch_default_for_uri(uri, context); + + this._dockSpringOpenComplete = true; + } catch (e) { + console.error( + e, `Error opening ${uri} in GNOME Files: ${e.message}` + ); + } + return GLib.SOURCE_CONTINUE; + } + + // URI is the same, window is opened, do nothing + if (this._dockSpringOpenFile === this._currentDesktopFileAppPath && + this._dockSpringOpenComplete + ) + return GLib.SOURCE_CONTINUE; + + // If still alive, window is opened and uri is changed, reset + if (this._dockSpringOpenFile !== this._currentDesktopFileAppPath && + this._dockSpringOpenComplete + ) { + this._dockSpringOpenFile = null; + this._dockSpringOpenComplete = false; + + return GLib.SOURCE_CONTINUE; + } + + return GLib.SOURCE_REMOVE; + } + + _stopMonitoringDockUriNavigation() { + if (this._dockUriSpringTimerID) { + GLib.Source.remove(this._dockUriSpringTimerID); + this._currentDesktopFileAppPath = null; + this._setShellDropCursor(this._Enums.ShellDropCursor.DEFAULT); + } + + this._dockUriSpringTimerID = 0; + } + + _setShellDropCursor(cursor = null) { + if (!this._DBusUtils.RemoteExtensionControl.isAvailable) + return; + + if (cursor) { + this._DBusUtils.RemoteExtensionControl.setDragCursor(cursor); + + return; + } + + if (!this._currentDesktopFileAppPath) { + this._DBusUtils.RemoteExtensionControl + .setDragCursor(this._Enums.ShellDropCursor.NODROP); + + return; + } + + try { + if (this._currentDesktopFileAppPath.endsWith('.desktop')) { + const desktopFile = + DesktopAppInfo.new_from_filename( + GLib.build_filenamev( + [this._currentDesktopFileAppPath] + ) + ); + + if (!desktopFile) { + console.log( + 'Could not parse desktopFile as a desktop file,' + + ' cannot set shell cursor' + ); + + this._DBusUtils.RemoteExtensionControl + .setDragCursor(this._Enums.ShellDropCursor.NODROP); + + return; + } + + let object = + this._DesktopIconsUtil + .checkAppOpensFileType( + desktopFile, + null, + this._selectedFiles[0].attributeContentType + ); + + if (object.canopenFile) { + this._DBusUtils.RemoteExtensionControl + .setDragCursor(this._Enums.ShellDropCursor.COPY); + + return; + } else if ( + this._currentDesktopFileAppPath + .endsWith('Nautilus.desktop') && + this._Prefs.openFolderOnDndHover + ) { + this._DBusUtils.RemoteExtensionControl + .setDragCursor(this._Enums.ShellDropCursor.MOVE); + + return; + } else { + this._DBusUtils.RemoteExtensionControl + .setDragCursor(this._Enums.ShellDropCursor.NODROP); + } + } else if ( + this._currentDesktopFileAppPath.startsWith('file://') || + this._currentDesktopFileAppPath.startsWith('davs://') || + this._currentDesktopFileAppPath.startsWith('trash://') + ) { + this._DBusUtils.RemoteExtensionControl + .setDragCursor(this._Enums.ShellDropCursor.MOVE); + + return; + } else { + this._DBusUtils.RemoteExtensionControl + .setDragCursor(this._Enums.ShellDropCursor.NODROP); + + return; + } + } catch (e) { + console.error(e, + 'Error reading desktop file. Cannot set shell Cursor' + ); + } + + this._DBusUtils.RemoteExtensionControl + .setDragCursor(this._Enums.ShellDropCursor.NODROP); + } + + async completeGnomeShellDrop() { + if (!this._currentDesktopFileAppPath) + return false; + + if (this._currentDesktopFileAppPath.endsWith('.desktop')) { + try { + const desktopFile = + DesktopAppInfo + .new_from_filename( + GLib.build_filenamev([this._currentDesktopFileAppPath]) + ); + + if (!desktopFile) { + console.log('Could not parse desktopFile as desktop file'); + + return false; + } + + const object = + this._DesktopIconsUtil + .checkAppOpensFileType( + desktopFile, + null, + this._selectedFiles[0].attributeContentType + ); + + if (object.canopenFile) { + const context = + Gdk.Display.get_default().get_app_launch_context(); + + context.set_timestamp(Gdk.CURRENT_TIME); + + desktopFile.launch_uris_as_manager( + this._selectedFilesURI, + context, + GLib.SpawnFlags.SEARCH_PATH, + null, + null + ); + + return true; + } else { + this._showAppCannotOpenError(object.Appname); + + return false; + } + } catch (e) { + console.error(e, + 'Error reading desktop file. Cannot launch application.' + ); + + return false; + } + } + + if (this._currentDesktopFileAppPath === 'trash:///') { + this._desktopManager.mainApp.activate_action('movetotrash', null); + + return true; + } + + if (this._currentDesktopFileAppPath.startsWith('file:///') || + this._currentDesktopFileAppPath.startsWith('davs://') + ) { + await this._desktopManager.copyOrMoveUris( + this._selectedFilesURI, + this._currentDesktopFileAppPath, + {}, + {} + ) + .catch(e => console.error(e)); + + return true; + } + + return false; + } + + _showAppCannotOpenError(Appname) { + const timeout = 3000; // In ms + + this._desktopManager.showError( + _('Could not open File'), + _('$appName$ can not open files of this Type!') + .replace('$appName$', Appname), + null, + timeout + ); + + return false; + } + + get _desktopDir() { + return this._desktopManager._desktopDir; + } +}; diff --git a/ding/app/htmlWidgetHost.js b/ding/app/htmlWidgetHost.js new file mode 100644 index 0000000..dc90ed4 --- /dev/null +++ b/ding/app/htmlWidgetHost.js @@ -0,0 +1,508 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Gtk4 Port Copyright (C) 2022 - 2025 Sundeep Mediratta (smedius@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 . +*/ + +import {GLib, GObject, Graphene, Gtk, Gsk} from '../dependencies/gi.js'; +import {WidgetApi} from '../dependencies/localFiles.js'; + +export {HtmlWidgetHost}; + +const HtmlWidgetHost = class { + /** + * @param {object} params + * { + * instanceId: string, + * widgetId: string, + * frameRect: {x, y, width, height}, + * widgetRegistry: WidgetRegistry | null, + * webContext: WebKit.WebContext, + * mode: 'prefs' or 'widget' + * prefsUri: string relative uri + * } + */ + constructor(params) { + this._instanceId = params.instanceId; + this._widgetId = params.widgetId; + this._frameRect = params.frameRect; + this._widgetRegistry = params.widgetRegistry; + this._webContext = params.webContext; + this._mode = params.mode === 'prefs' ? 'prefs' : 'widget'; + this._prefsUri = params.prefsUri || null; + + this._pendingHostStatePatches = []; + this._pendingPostMessages = []; + this._webView = null; + this._destroyed = false; + this._tickId = 0; + this._mappedNotifyId = 0; + + this._makeGtkWidget(); + + this._start(); + } + + get actor() { + return this._frame; + } + + _webViewReadyPromise() { + if (!this._webViewPromise) { + this._webViewPromise = new Promise(resolve => { + this._webViewResolve = resolve; + }); + } + + return this._webViewPromise; + } + + + getWebViewAsync() { + if (this._webView) + return this._webView; + + return this._webViewReadyPromise(); + } + + updateFrame(frameRect) { + this._frameRect = frameRect; + this._frame.set_size_request( + frameRect.width, + frameRect.height + ); + } + + isAlive() { + return !this._destroyed; + } + + destroy() { + this._destroyed = true; + + if (this._mappedNotifyId && this._webView) + this._webView.disconnect(this._mappedNotifyId); + this._mappedNotifyId = 0; + + if (this._tickId) + this._webView?.remove_tick_callback(this._tickId); + this._tickId = 0; + + this._frame.set_child(null); + this._webView.unparent(); + this._webView.run_dispose(); + this._webView = null; + this._frame = null; + this._pendingHostStatePatches = []; + } + + setHostStatePatch(patch) { + if (!patch || typeof patch !== 'object') + return; + + if (this._destroyed || !this._webView) { + this._pendingHostStatePatches.push(patch); + return; + } + this._sendHostStatePatch(patch); + } + + postMessage(msg) { + if (!msg || typeof msg !== 'object') + return; + + if (this._destroyed || !this._webView) { + this._pendingPostMessages.push(msg); + return; + } + + this._postMessage(msg); + } + + async requestRender() { + if (this._destroyed) + return; + + await this.getWebViewAsync(); + this._pokeWebViewRender(); + } + + _makeGtkWidget() { + this._frame = new DingRoundedClip({radius: 8}); + + this._frame.set_size_request( + this._frameRect.width, + this._frameRect.height + ); + + this._frame.instanceId = this._instanceId; + this._frame.widgetId = this._widgetId; + } + + async _makeWebView() { + this._webView = + await this._webContext.newViewForInstance( + this._widgetId, + this._instanceId + ); + this._webView.set_overflow(Gtk.Overflow.HIDDEN); + this._webView.set_name('ding-widget-webview'); + + this._frame.set_child(this._webView); + } + + async _makeUrl() { + let rel = null; + + if (this._mode === 'prefs') { + rel = this._prefsUri || null; + } else { + const entryFile = + await this._widgetRegistry.getHtmlEntryFile(this._widgetId); + + rel = entryFile ? entryFile.get_basename() : null; + } + + if (!rel) + return null; + + const id = GLib.uri_escape_string(this._instanceId, null, true); + const path = `/${GLib.uri_escape_string(rel, '/', true)}`; + const mode = this._mode === 'prefs' ? 'prefs' : 'widget'; + const query = + `dingMode=${mode}&dingInstanceId=${id}`; + + const guri = GLib.uri_build( + GLib.UriFlags.NONE, + 'ding-widget', + null, + id, + -1, + path, + query, + null + ); + + return guri.to_string(); + } + + // ───────────────────────── + // start orchestration + // ───────────────────────── + async _start() { + const [_, url] = await Promise.all([ + this._makeWebView(), + this._makeUrl(), + ]).catch(e => logError(e)); + + this._webViewResolve?.(this._webView); + this._webViewPromise = null; + this._webViewResolve = null; + + if (!this._webView) + return; + + if (url) + this._webView.load_uri(url); + else + this._loadFallback('Missing entry/prefs URL'); + + this._installWebViewRenderPoke(); + + this._flushPendingHostStatePatches(); + this._flushPendingMessages(); + } + + _flushPendingHostStatePatches() { + for (const patch of this._pendingHostStatePatches) + this._sendHostStatePatch(patch); + + this._pendingHostStatePatches.length = 0; + } + + _flushPendingMessages() { + for (const msg of this._pendingPostMessages) + this._postMessage(msg); + + this._pendingPostMessages.length = 0; + } + + _sendHostStatePatch(patch) { + let script; + try { + script = + 'if (window.ding && ' + + 'typeof window.ding._setHostState === "function") ' + + `window.ding._setHostState(${ + JSON.stringify(patch) + });`; + } catch (e) { + console.error('HtmlWidgetHost: failed to build host state script:', e); + return; + } + + this._evaluateScript(script); + } + + _pokeWebViewRender() { + if (!this._webView || this._destroyed) + return; + + const wv = this._webView; + + if (this._tickId) { + wv.remove_tick_callback(this._tickId); + this._tickId = 0; + } + + this._tickId = wv.add_tick_callback(() => { + const w = wv.get_allocated_width(); + const h = wv.get_allocated_height(); + if (w <= 1 || h <= 1) + return GObject.SOURCE_CONTINUE; + + this._tickId = 0; + + // Host-side “poke”: invalidate + optional JS nudge + wv.queue_draw(); + wv.queue_allocate(); + this._frame?.queue_draw(); + this._frame?.queue_allocate(); + this._nudgeWebViewDomRender(); + + return GObject.SOURCE_REMOVE; + }); + } + + _installWebViewRenderPoke() { + const wv = this._webView; + + this._mappedNotifyId = wv.connect('notify::mapped', () => { + if (wv.get_mapped()) + this._pokeWebViewRender(); + }); + + if (wv.get_mapped()) + this._pokeWebViewRender(); + } + + _nudgeWebViewDomRender() { + if (!this._webView || this._destroyed) + return; + + this._evaluateScript( + `try { + const t = String(Date.now()); + const de = document.documentElement; + const body = document.body; + if (de) { + de.style.setProperty('--ding-render-poke', t); + de.setAttribute('data-ding-render-poke', t); + } + if (body) { + body.style.setProperty('--ding-render-poke', t); + body.setAttribute('data-ding-render-poke', t); + } + window.dispatchEvent(new Event('resize')); + document.dispatchEvent(new Event('visibilitychange')); + window.dispatchEvent(new Event('pageshow')); + window.dispatchEvent(new Event('focus')); + requestAnimationFrame(() => {}); + } catch (e) {}` + ); + } + + _loadFallback(reason) { + if (!this._webView) + return; + + const safeReason = GLib.markup_escape_text(String(reason), -1); + const html = WidgetApi.WIDGET_UNAVAILABLE_HTML.replace( + '__REASON__', + safeReason + ); + + this._webView.load_html(html, null); + } + + _postMessage(msg) { + let script; + + try { + script = + 'if (typeof window.postMessage === "function") ' + + `window.postMessage(${JSON.stringify(msg)}, "*")`; + } catch (e) { + console.error( + 'HtmlWidgetHost: failed to build postMessage script:', e + ); + return; + } + + this._evaluateScript(script); + } + + _evaluateScript(script) { + if (this._destroyed || !this._webView) + return; + + try { + this._webView?.evaluate_javascript( + script, + -1, + null, + null, + null, + (wv, res) => { + try { + if (!this._webView) + return; + + wv?.evaluate_javascript_finish(res); + } catch (e) { + console.error( + 'HtmlWidgetHost: failed to postMessage JS:', e + ); + } + } + ); + } catch (e) { + console.error( + 'HtmlWidgetHost: failed to postMessage to widget:', e + ); + } + } +}; + +/** + * DingRoundedClip + * + * A tiny single-child container that clips its child to a rounded rect + * using GTK4 snapshot APIs (push_rounded_clip). + * + * Intended to be used as the "frame" root for WebKitWebView so that GTK CSS + * border-radius matches the child's visible corners without visual + * artifacts as CSS is not clipping the webview's contents with a box or frame. + */ +export const DingRoundedClip = GObject.registerClass({ + GTypeName: 'DingRoundedClip', + Properties: { + radius: GObject.ParamSpec.double( + 'radius', + 'Radius', + 'Corner radius in pixels', + GObject.ParamFlags.READWRITE | GObject.ParamFlags.EXPLICIT_NOTIFY, + 0.0, + 4096.0, + 12.0 + ), + }, +}, class DingRoundedClip extends Gtk.Widget { + _init(params = {}) { + super._init(params); + + this._child = null; + this._radius = 12.0; + } + + // ───────────────────────── + // properties + // ───────────────────────── + get radius() { + return this._radius; + } + + set radius(v) { + const r = Math.max(0.0, Number(v) || 0.0); + if (r === this._radius) + return; + + this._radius = r; + this.notify('radius'); + this.queue_draw(); + } + + // ───────────────────────── + // child management + // ───────────────────────── + set_child(child) { + if (child === this._child) + return; + + if (this._child) { + this._child.unparent(); + this._child = null; + } + + this._child = child ?? null; + + if (this._child) + this._child.set_parent(this); + + this.queue_resize(); + } + + get_child() { + return this._child; + } + + // ───────────────────────── + // layout + // ───────────────────────── + vfunc_measure(orientation, forSize) { + if (!this._child) + return [0, 0, -1, -1]; + + return this._child.measure(orientation, forSize); + } + + vfunc_size_allocate(width, height, baseline) { + if (!this._child) + return; + + this._child.allocate(width, height, baseline, null); + } + + // ───────────────────────── + // rendering + // + // Snapshot is called by GTK4 to render the widget inside the clipped area. + // ───────────────────────── + vfunc_snapshot(snapshot) { + if (!this._child) + return; + + const width = this.get_width(); + const height = this.get_height(); + if (width <= 0 || height <= 0) + return; + + const rect = new Graphene.Rect(); + rect.init(0, 0, width, height); + + const r = this._radius; + + const size = new Graphene.Size(); + size.init(r, r); + + const rr = new Gsk.RoundedRect(); + rr.init(rect, size, size, size, size); + + snapshot.push_rounded_clip(rr); + + this.snapshot_child(this._child, snapshot); + + snapshot.pop(); + } +}); diff --git a/ding/app/htmlWidgetHostWithBackend.js b/ding/app/htmlWidgetHostWithBackend.js new file mode 100644 index 0000000..9c17c37 --- /dev/null +++ b/ding/app/htmlWidgetHostWithBackend.js @@ -0,0 +1,599 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Gtk4 Port Copyright (C) 2022 - 2025 Sundeep Mediratta (smedius@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 . +*/ + +import {Gio, GLib} from '../dependencies/gi.js'; +import {HtmlWidgetHost} from '../dependencies/localFiles.js'; + +export {HtmlWidgetHostWithBackend}; + +const HtmlWidgetHostWithBackend = class extends HtmlWidgetHost { + constructor(params) { + super(params); + this._backendProc = null; + this._backendIn = null; + this._backendOut = null; + this._backendErr = null; + this._backendReading = false; + this._backendPending = new Map(); + this._decoder = new TextDecoder('utf-8'); + this._pendingBackendRequests = []; + this._pendingBackendEvents = []; + this._backendEnsurePromise = null; + } + + async _ensureBackend(inst) { + if (!inst || this._destroyed) + return false; + + if (this._backendProc) + return true; + + if (this._backendEnsurePromise) + return this._backendEnsurePromise; + + const ensurePromise = this._startBackend(inst); + + this._backendEnsurePromise = ensurePromise; + + let result; + try { + result = await ensurePromise; + } finally { + if (this._backendEnsurePromise === ensurePromise) + this._backendEnsurePromise = null; + } + + if (result?.ok) { + this._flushPendingBackendRequests(); + this._flushPendingBackendEvents(); + return true; + } + + this._failPendingBackendRequests( + inst, + result?.error ?? { + code: 'E_NO_BACKEND', + message: 'No backend configured', + } + ); + return false; + } + + async _buildBackendSpec(inst) { + if (!inst) + return null; + + if (inst.backendSpec) + return inst.backendSpec; + + if (!this._widgetRegistry) + return null; + + let desc = null; + try { + desc = await this._widgetRegistry.getDescriptor(inst.widgetId); + } catch (e) { + console.error( + 'HtmlWidgetHostWithBackend: failed to fetch descriptor:', + e + ); + return null; + } + + if (!desc) { + console.error( + 'HtmlWidgetHostWithBackend: no descriptor for widget', + inst?.widgetId ?? '' + ); + return null; + } + + const spec = + this._widgetRegistry.normalizeBackendSpec(desc, inst); + + inst.backendSpec = spec || null; + + return spec; + } + + async _startBackend(inst) { + let spec = inst?.backendSpec; + if (!spec) + spec = await this._buildBackendSpec(inst); + + if (!spec?.argv?.length) { + console.error( + 'HtmlWidgetHostWithBackend: no backend configured for widget', + inst?.widgetId ?? '' + ); + return { + ok: false, + error: {code: 'E_NO_BACKEND', message: 'No backend configured'}, + }; + } + + try { + const launcher = new Gio.SubprocessLauncher({ + flags: Gio.SubprocessFlags.STDIN_PIPE | + Gio.SubprocessFlags.STDOUT_PIPE | + Gio.SubprocessFlags.STDERR_PIPE, + }); + + if (spec.cwd) + launcher.set_cwd(spec.cwd); + + if (spec.env) { + for (const [key, value] of Object.entries(spec.env)) { + if (typeof key !== 'string') + continue; + launcher.setenv(key, String(value ?? ''), true); + } + } + + const argv = Array.isArray(spec.argv) ? [...spec.argv] : []; + + this._backendProc = launcher.spawnv(argv); + this._backendIn = new Gio.DataOutputStream({ + base_stream: this._backendProc.get_stdin_pipe(), + }); + + this._backendOut = new Gio.DataInputStream({ + base_stream: this._backendProc.get_stdout_pipe(), + }); + + this._backendErr = new Gio.DataInputStream({ + base_stream: this._backendProc.get_stderr_pipe(), + }); + + this._backendReading = true; + + // Read stdout (protocol messages) + this._readBackendStream( + inst, + this._backendOut, + msg => this._handleBackendMessage(inst, msg), + 'stdout' + ).catch(e => { + console.error('BACKEND stdout loop error:', e?.message ?? e); + }); + + // Read stderr (debug/logs) + this._readBackendStream( + inst, + this._backendErr, + line => { + try { + console.warn( + 'BACKEND stderr:', + inst?.instanceId ?? '', + line.trim() + ); + } catch (_e) {} + }, + 'stderr' + ).catch(e => { + console.error('BACKEND stderr loop error:', e?.message ?? e); + }); + + this._waitBackend(inst); + + this._sendBackend({ + type: 'hello', + instanceId: inst.instanceId, + widgetId: inst.widgetId, + mode: 'widget', + config: inst.config || {}, + }); + + return {ok: true}; + } catch (e) { + console.error( + 'HtmlWidgetHostWithBackend: failed to start backend:', e + ); + + this._handleBackendExit(inst, { + code: 'E_BACKEND_START', + message: e?.message ?? 'Failed to start backend', + }); + + return { + ok: false, + error: { + code: 'E_BACKEND_START', + message: e?.message ?? 'Failed to start backend', + }, + }; + } + } + + // Backend expects newline-delimited JSON objects. Known outbound shapes: + // - hello: {type, instanceId, widgetId, mode, config} + // - request {type, id, method, params} + _sendBackend(obj) { + if (!this._backendIn) + return; + + try { + this._backendIn.put_string(`${JSON.stringify(obj)}\n`, null); + this._backendIn.flush(null); + } catch (e) { + console.error( + 'HtmlWidgetHostWithBackend: write backend failed:', e + ); + } + } + + async _readBackendStream(inst, stream, onLine, label) { + if (!stream) + return; + + while (this._backendReading && stream) { + let line; + + try { + // eslint-disable-next-line no-await-in-loop + const [bytes] = await stream.read_line_async( + GLib.PRIORITY_DEFAULT, + null + ); + + if (!bytes) + break; + + line = this._decoder.decode(bytes); + } catch (e) { + console.error('BACKEND stream read error:', label, e?.message ?? e); + break; + } + + try { + let payload = line; + if (label === 'stdout') { + try { + payload = JSON.parse(line); + } catch (e) { + console.error('BACKEND stdout JSON parse error:', e?.message ?? e); + continue; + } + } + onLine?.(payload); + } catch (_e) { + // Ignore per-line handler errors + } + } + + if (this._backendReading) { + this._backendReading = false; + this._handleBackendExit(inst, { + code: 'E_BACKEND_EXIT', + message: 'Backend process exited', + }); + } + } + + _flushPendingBackendRequests() { + if (!this._pendingBackendRequests.length) + return; + + for (const entry of this._pendingBackendRequests) + this._dispatchBackendRequest(entry.payload); + + this._pendingBackendRequests.length = 0; + } + + _flushPendingBackendEvents() { + if (!this._pendingBackendEvents.length) + return; + + for (const entry of this._pendingBackendEvents) { + this._sendBackend({ + type: 'event', + name: entry.name, + payload: entry.payload || {}, + }); + } + + this._pendingBackendEvents.length = 0; + } + + _handleBackendExit(inst, error) { + this._backendReading = false; + + const proc = this._backendProc; + this._backendProc = null; + this._backendIn = null; + this._backendOut = null; + this._backendErr = null; + + if (this._destroyed) + return; + + this._logBackendExit(inst, proc, error); + this._failInFlightBackendRequests(inst, error); + this._pendingBackendRequests.length = 0; + this._pendingBackendEvents.length = 0; + } + + _failPendingBackendRequests(inst, error) { + if (!this._pendingBackendRequests.length || this._destroyed) { + this._pendingBackendRequests.length = 0; + return; + } + + const requestIds = []; + for (const entry of this._pendingBackendRequests) { + const requestId = entry.payload?.requestId; + if (requestId) + requestIds.push(requestId); + } + + this._failBackendRequestIds(inst, requestIds, error); + this._pendingBackendRequests.length = 0; + } + + _failInFlightBackendRequests(inst, error) { + if (!this._backendPending.size || this._destroyed) { + this._backendPending.clear(); + return; + } + + const requestIds = Array.from(this._backendPending.keys()); + this._backendPending.clear(); + this._failBackendRequestIds(inst, requestIds, error); + } + + _failBackendRequestIds(inst, requestIds, error) { + if (!requestIds.length || this._destroyed) + return; + + const instanceId = inst?.instanceId; + if (!instanceId) + return; + + const err = error || { + code: 'E_BACKEND_FAILURE', + message: 'Backend unavailable', + }; + + for (const requestId of requestIds) { + this.postMessage({ + _dingInternal: true, + type: 'backendReply', + instanceId, + requestId, + ok: false, + error: err, + }); + } + } + + _dispatchBackendRequest(payload) { + if (!payload || !this._backendProc || this._destroyed) + return; + + const {requestId, method, params} = payload; + if (requestId === undefined || requestId === null) + return; + + this._backendPending.set(requestId, true); + + this._sendBackend({ + type: 'request', + id: requestId, + method, + params: params || {}, + }); + } + + // Inbound JSON objects are expected to be of type response, event or log. + // - response: {type, id, ok, result, error} + // - event: {type, name, payload} + // - log: {type, level, message} + // with author-defined 'name' and custom JSON 'payload' + + _handleBackendMessage(inst, msg) { + if (!msg || typeof msg !== 'object') + return; + + switch (msg.type) { + case 'response': { + const requestId = msg.id; + this._backendPending.delete(requestId); + + this.postMessage({ + _dingInternal: true, + type: 'backendReply', + instanceId: inst.instanceId, + requestId, + ok: !!msg.ok, + result: msg.result, + error: msg.error, + }); + break; + } + + case 'event': { + this.postMessage({ + _dingInternal: true, + type: 'backendEvent', + instanceId: inst.instanceId, + name: msg.name, + payload: msg.payload, + }); + break; + } + + case 'log': { + const level = msg.level || 'log'; + const text = msg.message || ''; + console.log(`HtmlWidget backend ${level}:`, inst.instanceId, text); + break; + } + + default: + break; + } + } + + async backendRequest(inst, payload) { + if (!inst || !payload || this._destroyed) + return; + + if (this._backendProc) { + this._dispatchBackendRequest(payload); + return; + } + + this._pendingBackendRequests.push({ + instanceId: inst.instanceId, + payload, + }); + + await this._ensureBackend(inst); + } + + backendSend(inst, payload) { + if (!inst || !payload || this._destroyed) + return; + + const {name, payload: data} = payload || {}; + if (this._backendProc) { + this._sendBackend({ + type: 'event', + name, + payload: data || {}, + }); + return; + } + + this._pendingBackendEvents.push({ + name, + payload: data || {}, + }); + + this._ensureBackend(inst); + } + + destroy() { + this._destroyed = true; + + try { + if (this._backendIn) + this._sendBackend({type: 'shutdown'}); + } catch {} + + this._backendReading = false; + + try { + this._backendProc?.send_signal?.(15); + } catch {} + + try { + this._backendProc?.force_exit(); + } catch {} + + this._backendProc = null; + this._backendIn = null; + this._backendOut = null; + this._backendErr = null; + this._pendingBackendRequests.length = 0; + this._pendingBackendEvents.length = 0; + this._backendEnsurePromise = null; + + super.destroy(); + } + + async _readBackendStderr(inst) { + if (!this._backendErr) + return; + + while (!this._destroyed && this._backendErr) { + try { + // eslint-disable-next-line no-await-in-loop + const [bytes] = await this._backendErr.read_line_async( + GLib.PRIORITY_DEFAULT, + null + ); + + if (!bytes) + break; + + const line = this._decoder.decode(bytes); + console.error( + 'BACKEND STDERR:', + inst?.instanceId ?? '', + line.trim() + ); + } catch (_e) { + break; + } + } + } + + async _waitBackend(inst) { + const proc = this._backendProc; + if (!proc) + return; + + try { + const ok = await new Promise((resolve, reject) => { + proc.wait_check_async(null, (p, res) => { + try { + resolve(p.wait_check_finish(res)); + } catch (e) { + reject(e); + } + }); + }); + + console.error( + 'BACKEND EXIT STATUS:', + inst?.instanceId ?? '', + ok ? 'ok' : 'fail', + 'status:', + proc.get_exit_status() + ); + } catch (e) { + if (this._destroyed) + return; + console.error( + 'BACKEND EXIT wait error:', + inst?.instanceId ?? '', + e?.message ?? e + ); + } + } + + _logBackendExit(inst, proc, error) { + if (!proc) + return; + + const pid = proc.get_identifier(); + + const msg = error?.message ?? 'Backend process exited'; + const code = error?.code ? `(${error.code})` : ''; + const pidStr = pid ? `pid ${pid}` : 'pid unknown'; + + console.error( + 'HtmlWidget backend exit:', + inst?.instanceId ?? '', + pidStr, + msg, + code + ); + } +}; diff --git a/ding/app/preferences.js b/ding/app/preferences.js new file mode 100644 index 0000000..057293e --- /dev/null +++ b/ding/app/preferences.js @@ -0,0 +1,1102 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Gtk4 Port Copyright (C) 2022, 2025 Sundeep Mediratta (smedius@gmail.com) + * Copyright (C) 2019 Sergio Costas (rastersoft@gmail.com) + * Based on code original (C) 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, 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 . + */ +import {Adw, GLib, Gtk, Gio, Gdk, GdkX11, DesktopAppInfo} from '../dependencies/gi.js'; +import {DesktopWidgetCapability} from '../dependencies/gi.js'; +import {_} from '../dependencies/gettext.js'; + +export {Preferences}; + +const GioSSS = Gio.SettingsSchemaSource; + +const Preferences = class { + constructor(Data, AdwPreferencesWindow) { + this._extensionPath = Data.extensionPath; + this._programVersion = Data.programversion; + this._mainApp = Data.mainApp; + this._Enums = Data.Enums; + let schemaSource = GioSSS.get_default(); + this._desktopManager = null; + this._widgetState = null; + this._widgetStateMonitor = null; + this._suppressWidgetMonitorEvent = false; + this.desktopWidgetCapability = DesktopWidgetCapability; + + // Adw Style Manager + this._adwStyleManager = + Adw.StyleManager.get_default(); + + try { + if (this._adwStyleManager.get_system_supports_accent_colors()) { + console.log('System supports accent colors'); + this.accentColorsAvailable = true; + } + } catch (e) { + console.log('System does not support accent colors'); + this.accentColorsAvailable = false; + } + + // Gtk + const schemaGtk = schemaSource.lookup(this._Enums.SCHEMA_GTK, true); + this.gtkSettings = new Gio.Settings({settings_schema: schemaGtk}); + + // Gnome Files + const schemaObj = + schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS, true); + + if (!schemaObj) { + this.nautilusSettings = null; + this.CLICK_POLICY_SINGLE = false; + this.openFolderOnDndHover = false; + } else { + this.nautilusSettings = + new Gio.Settings({settings_schema: schemaObj}); + } + + this._gnomeFilesAppInfo = + DesktopAppInfo.new('org.gnome.Nautilus.desktop'); + + + // Compression + const compressionSchema = + schemaSource.lookup(this._Enums.SCHEMA_NAUTILUS_COMPRESSION, true); + + if (!compressionSchema) { + this.nautilusCompression = null; + } else { + this.nautilusCompression = + new Gio.Settings({settings_schema: compressionSchema}); + } + + // Mutter Settings + this.usingX11 = + Gdk.Display.get_default() instanceof GdkX11.X11Display; + + const schemaMutter = + schemaSource.lookup(this._Enums.SCHEMA_MUTTER, true); + + if (schemaMutter) { + this.mutterSettings = + new Gio.Settings({settings_schema: schemaMutter}); + } + + // Depreciated Gnome Default Terminal Settings + const schemaTerminalSettings = + schemaSource.lookup(this._Enums.TERMINAL_SCHEMA, true); + + if (schemaTerminalSettings) { + this.schemaTerminalSettings = + new Gio.Settings({settings_schema: schemaTerminalSettings}); + } else { + this.schemaTerminalSettings = null; + } + + // Our Settings + this.desktopSettings = this._get_schema(this._Enums.SCHEMA); + + this._cacheInitialSettings(); + + // Gnome Theme settings for fallback for older + // Adw and Gnome versions accent colors + const schemaGnomeSettings = + schemaSource.lookup(this._Enums.SCHEMA_GNOME_SETTINGS, true); + + if (schemaGnomeSettings) { + this.schemaGnomeThemeSettings = + new Gio.Settings({settings_schema: schemaGnomeSettings}); + } + + this._adwPreferencesWindow = + new AdwPreferencesWindow.AdwPreferencesWindow( + this.desktopSettings, + this.nautilusSettings, + this.gtkSettings, + this._programVersion, + this._mainApp + ); + } + + _get_schema(schema) { + // 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 schemaSource; + + const schemaFile = + Gio.File.new_build_filenamev( + [this._extensionPath, 'schemas', 'gschemas.compiled'] + ); + + if (schemaFile.query_exists(null)) { + schemaSource = + GioSSS.new_from_directory( + GLib.build_filenamev([this._extensionPath, 'schemas']), + GioSSS.get_default(), + false + ); + } else { + schemaSource = GioSSS.get_default(); + } + + + let schemaObj = schemaSource.lookup(schema, true); + if (!schemaObj) { + console.log('schemaObj does not exist!'); + console.log('Current extension path:', this._extensionPath); + console.log('Current schemaFile:', schemaFile.get_path()); + console.log('Schema File exists:', schemaFile.query_exists(null)); + + throw new Error( + `Schema ${schema} could not be found for extension.` + + ' Please check your installation.' + ); + } + + return new Gio.Settings({settings_schema: schemaObj}); + } + + _cacheInitialSettings() { + this._updateIconSize(); + + this._StartCorner = + this._Enums.START_CORNER[ + this.desktopSettings.get_string('start-corner') + ]; + + this._UnstackList = this.desktopSettings.get_strv('unstackedtypes'); + + this.sortOrder = + this.desktopSettings.get_enum(this._Enums.SortOrder.ORDER); + + this.addVolumesOpposite = + this.desktopSettings.get_boolean('add-volumes-opposite'); + + this.showHidden = this.gtkSettings.get_boolean('show-hidden'); + + this._showDropPlace = + this.desktopSettings.get_boolean('show-drop-place'); + + this.showLinkEmblem = + this.desktopSettings.get_boolean('show-link-emblem'); + + this.darkText = this.desktopSettings.get_boolean('dark-text-in-labels'); + this.keepStacked = this.desktopSettings.get_boolean('keep-stacked'); + this.keepArranged = this.desktopSettings.get_boolean('keep-arranged'); + + this.sortSpecialFolders = + this.desktopSettings.get_boolean('sort-special-folders'); + + this.showOnSecondaryMonitor = + this.desktopSettings.get_boolean('show-second-monitor'); + + this.freePositionIcons = + this.desktopSettings.get_boolean('free-position-icons'); + + this.desktopWidgetsEnabled = + this.desktopSettings.get_boolean('show-desktop-widgets'); + + this.CLICK_POLICY_SINGLE = + this.nautilusSettings.get_string('click-policy') === 'single'; + + this.openFolderOnDndHover = + this.nautilusSettings.get_boolean('open-folder-on-dnd-hover'); + + this.showImageThumbnails = + this.nautilusSettings + .get_string('show-image-thumbnails') !== 'never'; + + this.darkmode = this._adwStyleManager.get_dark(); + this._premultiplied = this._getPreMultiplied(); + + // Gtk Theme and animation Changes + this._gtkSettings = + Gtk.Settings.get_for_display(Gdk.Display.get_default()); + this._refreshAnimations(); + } + + getAdwPreferencesWindow() { + this.AdwPreferencesWindow = + this._adwPreferencesWindow.getAdwPreferencesWindow(); + + return this.AdwPreferencesWindow; + } + + // Updaters + _updateIconSize() { + let iconSize = this.desktopSettings.get_string('icon-size'); + this.IconSize = this._Enums.ICON_SIZE[iconSize]; + this.DesiredWidth = this._Enums.ICON_WIDTH[iconSize]; + this.DesiredHeight = this._Enums.ICON_HEIGHT[iconSize]; + } + + // Monitoring + init(desktopManager) { + this._desktopManager = desktopManager; + this._desktopIconsUtil = desktopManager.DesktopIconsUtil; + + this._configureSelectionColor(); + this._configureHoverColor(); + this._setCSSColors(); + this._initLocalCSSprovider(); + this._monitorDesktopSettings(); + this._monitorTerminalSettings(); + this._monitorWidgetState(); + } + + _monitorWidgetState() { + if (!this._desktopIconsUtil) + return; + + const widgetsFile = this._desktopIconsUtil.getWidgetsStateFile(); + if (!widgetsFile) + return; + + try { + this._widgetStateMonitor = + widgetsFile.monitor_file( + Gio.FileMonitorFlags.WATCH_MOVES, + null + ); + + this._widgetStateMonitor.set_rate_limit(500); + + this._widgetStateMonitor.connect('changed', () => { + if (this._suppressWidgetMonitorEvent) + return; + + if (this._widgetStateReloadTimeoutId) { + GLib.source_remove(this._widgetStateReloadTimeoutId); + this._widgetStateReloadTimeoutId = null; + } + + this._widgetStateReloadTimeoutId = + GLib.timeout_add(GLib.PRIORITY_DEFAULT, 250, () => { + this._widgetStateReloadTimeoutId = null; + this._loadWidgetState() + .catch(e => { + console.log( + 'Error loading widget state from widgets.json:', + e.message ?? e + ); + this._widgetState = null; + this._applyWidgetStateToManager(); + }); + return GLib.SOURCE_REMOVE; + }); + }); + } catch (e) { + console.log( + 'Error monitoring widget state from widgets.json:', + e.message ?? e + ); + this._widgetStateMonitor = null; + return; + } + + this._loadWidgetState() + .catch(e => { + console.log( + 'Error loading widget state from widgets.json:', + e.message ?? e + ); + this._widgetState = null; + this._applyWidgetStateToManager(); + }); + } + + + _monitorDesktopSettings() { + if (!this._desktopManager) + return; + + // Desktop Settings + this.desktopSettings.connect('changed', (obj, key) => { + if (key === 'dark-text-in-labels') { + this.darkText = + this.desktopSettings.get_boolean('dark-text-in-labels'); + + this._desktopManager.redrawDesktop() + .catch(e => { + console.log( + 'Exception while updating desktop after "Dark Text"' + + ` changed: ${e.message}\n${e.stack}` + ); + }); + + return; + } + + if (key === 'show-link-emblem') { + this.showLinkEmblem = + this.desktopSettings.get_boolean('show-link-emblem'); + + this._desktopManager.redrawDesktop() + .catch(e => { + console.log( + 'Exception while updating desktop after ' + + `"Show Emblems" changed: ${e.message}\n${e.stack}` + ); + }); + + return; + } + + if (key === 'sort-special-folders') { + this.sortSpecialFolders = + this.desktopSettings.get_boolean('sort-special-folders'); + + return; + } + + if (key === 'add-volumes-opposite') { + this.addVolumesOpposite = + this.desktopSettings.get_boolean('add-volumes-opposite'); + + return; + } + + if (key === 'show-second-monitor') { + this.showOnSecondaryMonitor = + this.desktopSettings.get_boolean('show-second-monitor'); + + // The initialRead parameter insures tha grid positions are + // recalculated and remapped to new monitors. Recaculated + // postions of all fileItems will be re-written to disk with + // write mode 'OVERWRITE' + if (this.showOnSecondaryMonitor) { + this._desktopManager.refreshDesktop(); + } else { + const mainApp = this._desktopManager.mainApp; + mainApp.lookup_action('cleanUpIcons').activate(null); + } + + return; + } + + if (key === 'icon-size') { + this._updateIconSize(); + this._desktopManager.onIconSizeChanged(); + + return; + } + + if (key === this._Enums.SortOrder.ORDER) { + this.sortOrder = + this.desktopSettings.get_enum(this._Enums.SortOrder.ORDER); + + const value = + GLib.Variant.new_string( + this.desktopSettings + .get_string(this._Enums.SortOrder.ORDER) + ); + + const mainApp = this._desktopManager.mainApp; + mainApp.activate_action('arrangeaction', value); + + return; + } + + if (key === 'unstackedtypes') { + this._UnstackList = + this.desktopSettings.get_strv('unstackedtypes'); + + this._desktopManager.onUnstackedTypesChanged(); + + return; + } + + if (key === 'keep-stacked') { + this.keepStacked = + this.desktopSettings.get_boolean('keep-stacked'); + + this._desktopManager.onkeepStackedChanged(); + + return; + } + + if (key === 'keep-arranged') { + this.keepArranged = + this.desktopSettings.get_boolean('keep-arranged'); + + this._desktopManager.onKeepArrangedChanged(); + + return; + } + + if (key === 'show-drop-place') { + this._showDropPlace = + this.desktopSettings.get_boolean('show-drop-place'); + + return; + } + + if (key === 'start-corner') { + this._StartCorner = + this._Enums.START_CORNER[ + this.desktopSettings.get_string('start-corner') + ]; + + return; + } + + if (key === 'free-position-icons') { + this.freePositionIcons = + this.desktopSettings.get_boolean('free-position-icons'); + } + + if (key === 'show-desktop-widgets') { + this.desktopWidgetsEnabled = + this.desktopSettings.get_boolean('show-desktop-widgets'); + this._desktopManager.onWidgetDisplayChanged(); + } + + // fallthrough + this._desktopManager.reLoadDesktop() + .catch(e => { + console.log('Exception while updating Desktop after the' + + ` settings changed: ${e.message}\n${e.stack}` + ); + }); + }); + + // Gtk Settings + this.gtkSettings.connect('changed', (obj, key) => { + if (key === 'show-hidden') { + this.showHidden = this.gtkSettings.get_boolean('show-hidden'); + + this._desktopManager.onGtkSettingsChanged() + .catch(e => { + console.log('Exception while updating desktop after' + + ` "Show Hidden" changed: ${e.message}\n${e.stack}` + ); + }); + } + }); + + // Gnome Files Settings + this.nautilusSettings.connect('changed', (obj, key) => { + if (key === 'show-image-thumbnails') { + this.showImageThumbnails = + this.nautilusSettings + .get_string('show-image-thumbnails') !== 'never'; + + this._desktopManager.redrawDesktop() + .catch(e => { + console.log('Exception while updating Desktop after the' + + ` GNOME Files settings changed: ${e.message}\n${e.stack}` + ); + }); + + return; + } + + if (key === 'click-policy') { + this.CLICK_POLICY_SINGLE = + this.nautilusSettings + .get_string('click-policy') === 'single'; + } + + if (key === 'open-folder-on-dnd-hover') { + this.openFolderOnDndHover = + this.nautilusSettings + .get_boolean('open-folder-on-dnd-hover'); + } + }); + + // Icon Theme Changes + this._gtkIconTheme = + Gtk.IconTheme.get_for_display(Gdk.Display.get_default()); + + this._gtkIconTheme.connect('changed', () => { + this._refreshDesktopAndColors(); + }); + + this._gtkSettings.connect('notify', (actor, paramSpec) => { + if (paramSpec.name === 'gtk-theme-name') + this._refreshDesktopAndColors(); + if (paramSpec.name === 'gtk-enable-animations') + this._refreshAnimations(); + }); + + // Callback to handle accent color changes + this._adwStyleManager.connect('notify::accent-color', () => { + this._refreshBackgroundColor(); + }); + + // Callback to handle theme (color scheme) changes + this._adwStyleManager.connect('notify::dark', () => { + this.darkmode = this._adwStyleManager.get_dark(); + this._refreshBackgroundColor(); + }); + + // Terminal settings Changes + this.schemaTerminalSettings?.connect('changed', () => { + this._updateTerminalSettings() + .catch(e => logError(e)); + }); + + // Mutter settings + this.mutterSettings.connect('changed', () => { + this._premultiplied = this._getPreMultiplied(); + this._desktopManager.onMutterSettingsChanged(); + }); + + if (this.accentColorsAvailable) + return; + + // Gnome Theme Settings monitoring for older gnome and Adw versions + this.schemaGnomeThemeSettings?.connect('changed', (obj, key) => { + if (key === 'accent-color') { + // Color changes do not seem to be applied immediately, wait.. + if (this.cssColorDefinitionChangeID) + GLib.source_remove(this.cssColorDefinitionChangeID); + + this.cssColorDefinitionChangeID = + GLib.timeout_add(GLib.PRIORITY_DEFAULT, 500, () => { + this._refreshDesktopAndColors(); + this.cssColorDefinitionChangeID = 0; + + return GLib.SOURCE_REMOVE; + }); + } + }); + } + + _configureHoverColor() { + const box = new Gtk.Label(); + const styleContext = box.get_style_context(); + styleContext.add_class('view'); + const [exists, color] = styleContext.lookup_color('accent_fg_color'); + if (exists) { + this.hoverColor = color; + } else { + this.hoverColor = new Gdk.RGBA({ + red: 0.9, + green: 0.9, + blue: 0.9, + alpha: 1.0, + }); + } + } + + _configureSelectionColor() { + try { + if (this.accentColorsAvailable) { + this.selectColor = + this._adwStyleManager.get_accent_color_rgba(); + } else { + const box = new Gtk.Label(); + const styleContext = box.get_style_context(); + styleContext.add_class('view'); + + const [exists, color] = + styleContext.lookup_color('accent_bg_color'); + + if (exists) { + this.selectColor = color; + } else { + throw new Error( + 'Style Context does not provide accent_bg_color' + ); + } + } + } catch (e) { + console.log(e.message); + console.log('Setting default accent color to blue'); + this.selectColor = new Gdk.RGBA({ + red: 0, + green: 0, + blue: 0.9, + alpha: 1.0, + }); + } + } + + _setCSSColors() { + const cssColorDefinition = + `@define-color desktop_icons_fg_color ${this.hoverColor.to_string()}; + @define-color desktop_icons_bg_color ${this.selectColor.to_string()};`; + + this._cssColorProviderSelection = new Gtk.CssProvider(); + + // fix for api change Gtk 4.9 + try { + this._cssColorProviderSelection.load_from_data(cssColorDefinition); + } catch (e) { + const gsizeLength = -1; // NULL terminated string + this._cssColorProviderSelection.load_from_data( + cssColorDefinition, + gsizeLength + ); + } + + Gtk.StyleContext.add_provider_for_display( + Gdk.Display.get_default(), + this._cssColorProviderSelection, + Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION + ); + } + + _refreshColors() { + Gtk.StyleContext.remove_provider_for_display( + Gdk.Display.get_default(), + this._cssColorProviderSelection); + + this._configureSelectionColor(); + this._configureHoverColor(); + this._setCSSColors(); + } + + _refreshBackgroundColor() { + Gtk.StyleContext.remove_provider_for_display( + Gdk.Display.get_default(), + this._cssColorProviderSelection); + + this._configureSelectionColor(); + this._setCSSColors(); + this._desktopManager?.onDarkModeChanged(); + } + + _refreshDesktopAndColors() { + this._refreshColors(); + + this._desktopManager.redrawDesktop() + .catch(e => { + console.log( + 'Exception while updating desktop after an GTK icon-theme' + + ` change: ${e.message}\n${e.stack}` + ); + }); + } + + _refreshAnimations() { + this.globalAnimations = + this._gtkSettings.gtk_enable_animations ?? false; + const enabled = this.globalAnimations ? 'enabled' : 'disabled'; + console.log('System animations are', enabled); + this._desktopManager?.onAnimationChanged(); + } + + _initLocalCSSprovider() { + const cssProvider = new Gtk.CssProvider(); + const resourcePath = this._mainApp.get_resource_base_path(); + + cssProvider.load_from_resource(`${resourcePath}/stylesheet.css`); + + // Load user-local stylesheet override from config directory + this._cssOverrideProvider = new Gtk.CssProvider(); + this._loadCSSOverride(); + + Gtk.StyleContext.add_provider_for_display( + Gdk.Display.get_default(), + cssProvider, + Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION + ); + + Gtk.StyleContext.add_provider_for_display( + Gdk.Display.get_default(), + this._cssOverrideProvider, + Gtk.STYLE_PROVIDER_PRIORITY_USER + ); + + this._createReloadCSSAction(); + } + + _loadCSSOverride() { + const configDir = GLib.get_user_config_dir(); + + const cssOverridePath = GLib.build_filenamev([ + configDir, + this._mainApp.get_application_id(), + 'stylesheet-override.css', + ]); + + const overrideFile = Gio.File.new_for_path(cssOverridePath); + const overrideExists = overrideFile.query_exists(null); + + if (!overrideExists) { + this._cssOverrideProvider.load_from_string(''); + return; + } + + try { + this._cssOverrideProvider.load_from_path(cssOverridePath); + console.info('Loaded CSS override file'); + } catch (e) { + console.error(`Failed to load CSS override: ${e}`); + } + } + + _createReloadCSSAction() { + const reloadCSSAction = Gio.SimpleAction.new('reloadCSS', null); + reloadCSSAction.connect('activate', this._loadCSSOverride.bind(this)); + this._mainApp.add_action(reloadCSSAction); + } + + _setupTerminalMonitors() { + this._xdgTerminalMonitors = []; + const systemFiles = this._xdgSystemConf.concat(this._xdgSystemData); + const userFiles = [this._xdgUserConf, this._xdgUserData]; + const filesToMonitor = userFiles.concat(systemFiles); + + filesToMonitor.forEach(f => { + const fileMonitor = + f.monitor( + Gio.FileMonitorFlags.WATCH_MOVES, + null + ); + + fileMonitor.set_rate_limit(1000); + + fileMonitor.connect('changed', () => { + this._updateTerminalSettings() + .catch(e => { + console.log( + 'Exception while updating entries in System Terminal' + + ` monitor: ${e.message}\n${e.stack}` + ); + }); + }); + + this._xdgTerminalMonitors.push(fileMonitor); + }); + } + + _monitorTerminalSettings() { + this._xdgUserConf = this._desktopIconsUtil.getUserTerminalConfFile(); + + this._xdgSystemConf = + this._desktopIconsUtil.getSystemTerminalConfFile(); + + this._xdgUserData = this._desktopIconsUtil.getUserDataTerminalDir(); + + this._xdgSystemData = + this._desktopIconsUtil.getSystemDataTerminalDirs(); + + this._setupTerminalMonitors(); + + this._updateTerminalSettings().catch(e => logError(e)); + } + + _updateTerminalDconfSettings() { + let defaultTerminal = null; + + if (this.schemaTerminalSettings) { + defaultTerminal = + this.schemaTerminalSettings + .get_string(this._Enums.DCONF_TERMINAL_EXEC_KEY); + } + + let terminal; + let terminalappinfo; + + switch (defaultTerminal) { + case 'gnome-terminal': + terminal = 'org.gnome.Terminal.desktop'; + terminalappinfo = DesktopAppInfo.new(terminal); + if (!terminalappinfo) { + terminal = 'org.gnome.Ptyxis.desktop'; + terminalappinfo = DesktopAppInfo.new(terminal); + } + + break; + case 'gnome-console': + default: + terminal = 'org.gnome.Console.desktop'; + terminalappinfo = DesktopAppInfo.new(terminal); + } + + return terminalappinfo ? [terminalappinfo] : []; + } + + async _updateTerminalXdgConf() { + let userfileList = []; + let systemfileList = []; + + if (this._xdgUserConf.query_exists(null)) { + let userfilecontents; + + try { + userfilecontents = + await this._desktopIconsUtil + .readFileContentsAsync( + this._xdgUserConf + ) + .catch(e => console.error(e)); + + if (userfilecontents) { + userfileList = + this._desktopIconsUtil + .parseTerminalList(userfilecontents); + } + } catch (e) { + console.error(e); + } + } + + for (let f of this._xdgSystemConf) { + if (f.query_exists(null)) { + const systemFileContent = + // eslint-disable-next-line no-await-in-loop + await this._desktopIconsUtil.readFileContentsAsync(f); + + const x = + this._desktopIconsUtil.parseTerminalList(systemFileContent); + + systemfileList = systemfileList.concat(x); + } + } + + return userfileList.concat(systemfileList); + } + + async _updateTerminalXdgData() { + let xdgDataFiles = []; + const scanFiles = [this._xdgUserData, ...this._xdgSystemData]; + + for (let f of scanFiles) { + if (f.query_exists(null)) { + const systemFileContent = + // eslint-disable-next-line no-await-in-loop + await this._desktopIconsUtil.readFileContentsAsync(f); + + const x = + this._desktopIconsUtil.parseTerminalList(systemFileContent); + + xdgDataFiles = xdgDataFiles.concat(x); + } + } + + return xdgDataFiles; + } + + async _updateTerminalSettings() { + this._terminalGioDesktopAppInfoList = []; + + const a = + await this._updateTerminalXdgConf() + .catch(e => console.error(e)); + + const b = + await this._updateTerminalXdgData() + .catch(e => console.error(e)); + + const c = this._updateTerminalDconfSettings(); + + this._terminalGioDesktopAppInfoList = a.concat(b.concat(c)); + + if (!this._terminalGioDesktopAppInfoList.length) + return; + + this._terminal = this._terminalGioDesktopAppInfoList[0]; + + this._terminalExecString = + this._terminal + ?.get_string(this._Enums.DESKTOPFILE_TERMINAL_EXEC_SWITCH); + + if (!this._terminalExecString) + this._terminalExecString = '-e'; + } + + _getPreMultiplied() { + if (this.usingX11) + return false; + + const scalingEnabled = 'scale-monitor-framebuffer'; + + try { + return this.mutterSettings + .get_strv('experimental-features') + .includes(scalingEnabled); + } catch (e) {} + + return false; + } + + _setPreMultiplied(premultiplied) { + if (this.usingX11) + return; + + const scalingEnabled = 'scale-monitor-framebuffer'; + + try { + const featurearray = + this.mutterSettings.get_strv('experimental-features'); + + if (premultiplied && !featurearray.includes(scalingEnabled)) + featurearray.push(scalingEnabled); + + if (!premultiplied && featurearray.includes(scalingEnabled)) { + const index = featurearray.indexOf(scalingEnabled); + featurearray.splice(index, 1); + } + + this.mutterSettings.set_strv('experimental-features', featurearray); + } catch (e) { + console.log('Error setting premultiplied:', e); + } + } + + /* + * Load widget layout/config state from widgets.json into _widgetState. + */ + async _loadWidgetState(cancellable = null) { + if (!this._desktopIconsUtil) + return; + + const file = this._desktopIconsUtil.getWidgetsStateFile(); + this._widgetState = + await this._desktopIconsUtil.readJsonFile(file, cancellable) + .catch(e => { + console.log( + 'Error reading widget state from widgets.json:', + e.message ?? e + ); + return null; + }); + + this._applyWidgetStateToManager(); + } + + _applyWidgetStateToManager() { + if (!this._desktopManager?.widgetManager) + return; + + const state = + this._widgetState ?? + { + version: 1, + instances: [], + }; + + this._desktopManager.widgetManager.loadState(state); + } + + /* + * Save widget layout/config state back to widgets.json. + * + * @param {object|null} state plain JSON-serializable object + * (or null to just clear cache) + */ + async _saveWidgetState(state, cancellable = null) { + if (!this._desktopIconsUtil) + return; + + this._widgetState = state ?? null; + + if (!state) + return; + + const file = this._desktopIconsUtil.getWidgetsStateFile(); + + // Prevent triggering monitor event while we write the file + this._suppressWidgetMonitorEvent = true; + + await this._desktopIconsUtil.writeJsonFile(file, state, cancellable); + + // Allow monitor events after idle + GLib.idle_add(GLib.PRIORITY_DEFAULT, () => { + this._suppressWidgetMonitorEvent = false; + return GLib.SOURCE_REMOVE; + }); + } + + // Setters + /** + * @param {any} order + */ + set SortOrder(order) { + this._sortOrder = order; + this.desktopSettings.set_enum(this._Enums.SortOrder.ORDER, order); + } + + set UnstackList(array) { + this._UnstackList = array; + this.desktopSettings.set_strv('unstackedtypes', array); + } + + set fractionalScaling(boolean) { + this._setPreMultiplied(boolean); + } + + set widgetState(state = null) { + this._widgetState = state; + this._saveWidgetState(state).catch(e => { + console.log( + 'Error saving widget state to widgets.json:', + e.message ?? e + ); + }); + } + + // Getters + get StartCorner() { + // Return a shallow copy that can be mutated without affecting other + // icons with cornerinversion in DesktopGrid + return [...this._StartCorner]; + } + + get UnstackList() { + // Return a shallow copy that can be mutated without + // affecting the original + return [...this._UnstackList]; + } + + get Terminal() { + return this._terminal ?? null; + } + + get TerminalGioList() { + return this._terminalGioDesktopAppInfoList; + } + + get TerminalExecString() { + return this._terminalExecString; + } + + get TerminalName() { + if (this._terminal) + return this._terminal.get_locale_string('Name'); + else + return _('Console'); + } + + get NautilusName() { + return this._gnomeFilesAppInfo.get_locale_string('Name'); + } + + get showDropPlace() { + return this._showDropPlace && !this.freePositionIcons; + } + + get fractionalScaling() { + if (this.usingX11) + return false; + return this._premultiplied; + } + + get widgetState() { + return this._widgetState; + } + + get showDesktopWidgets() { + return this.desktopWidgetsEnabled && this.desktopWidgetCapability; + } +}; diff --git a/ding/app/shortcutManager.js b/ding/app/shortcutManager.js new file mode 100644 index 0000000..40c0bee --- /dev/null +++ b/ding/app/shortcutManager.js @@ -0,0 +1,732 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Adw/Gtk4 Port Copyright (C) 2025 Sundeep Mediratta (smedius@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 . + */ + +import {Adw, Gdk, Gio, GLib, GObject, Gtk, Pango} from '../dependencies/gi.js'; +import {_} from '../dependencies/gettext.js'; +import {DefaultShortcuts} from '../dependencies/localFiles.js'; +import {GlobalShortcuts} from '../dependencies/localFiles.js'; + +export {ShortcutManager}; + +const DisplayShortcutRow = GObject.registerClass( + class DisplayShortcutRow extends Adw.ActionRow { + constructor({actionname, actionmap, readaccel}) { + super({}); + this.actionNamed = actionname; + this.actionMap = actionmap; + this.readaccel = readaccel; + + this._defaultShortcuts = DefaultShortcuts; + this.accelLabel = new Gtk.Label({ + label: '', + xalign: 1, + css_classes: ['monospace'], + ellipsize: Pango.EllipsizeMode.END, + max_width_chars: 28, + width_chars: 16, + halign: Gtk.Align.END, + hexpand: false, + single_line_mode: true, + }); + this.add_suffix(this.accelLabel); + this.updateRow(); + } + + updateRow() { + const accels = this.readaccel(this.actionNamed); + let accelList = []; + + if (Array.isArray(accels)) + accelList = accels; + else if (typeof accels === 'string' && accels.length) + accelList = accels.split(','); + + this.accelText = _('None'); + if (accelList.length) + this.accelText = accelList.map(a => a.trim()).join(', '); + + this.accelLabel.set_label(this.accelText); + this.accelLabel.set_tooltip_text(this.accelText); + + this.description = + this._defaultShortcuts[this.actionNamed].Hint || + this._prettify(this.actionNamed); + + this.set_title(this.description); + } + + _prettify(name) { + const prettyName = + name.charAt(0).toUpperCase() + + name.slice(1).replace(/[-_]/g, ' '); + + return prettyName; + } + } +); + +const EditableShortcutRow = GObject.registerClass( + class EditableShortcutRow extends DisplayShortcutRow { + constructor({actionname, actionmap, readaccel, writeaccel}) { + super({actionname, actionmap, readaccel}); + this.writeaccel = writeaccel; + + if (Adw.get_minor_version() > 2) + this.set_subtitle_selectable(false); + + this.addEditor(); + } + + updateRow() { + super.updateRow(); + this.use_markup = false; + this.defaultAccel = this._defaultShortcuts[this.actionNamed].Accel; + const subtitlestring = _('Default Shortcut:'); + const subtitle = this.defaultAccel ? this.defaultAccel : _('None'); + this.set_subtitle(`${subtitlestring} ${subtitle}`); + } + + addEditor() { + this.editIcon = Gtk.Image.new_from_icon_name('xapp-edit-symbolic'); + this.editIcon.margin_start = 10; + this.add_suffix(this.editIcon); + this.set_activatable_widget(this.editIcon); + this.makeActive(); + } + + makeActive() { + this.activatable = true; + this.set_sensitive = true; + this.connect('activated', () => this.setShortcut()); + } + + setShortcut() { + if (this.changingKey) + return; + + this.changingKey = true; + this.accelLabel.set_label(_('Type new...')); + + this.resetIcon = Gtk.Image.new_from_icon_name('revert'); + this.resetIcon.margin_start = 10; + + this.clearIcon = Gtk.Image.new_from_icon_name('no'); + this.clearIcon.margin_start = 10; + + const shortcutEditor = new Gtk.Entry({ + editable: false, + hexpand: false, + vexpand: false, + halign: Gtk.Align.END, + valign: Gtk.Align.CENTER, + xalign: 0, // Right-align + placeholder_text: + _('Modifier + Key (e.g. Ctrl + Alt + D)'), + width_chars: 30, + can_focus: true, + has_frame: true, + primary_icon_name: 'edit-undo-symbolic', + primary_icon_tooltip_text: _('Reset to Default'), + primary_icon_sensitive: this.defaultAccel !== this.accelText, + primary_icon_activatable: true, + secondary_icon_name: 'ding-edit-delete-symbolic', + secondary_icon_tooltip_text: _('No Accelerator'), + secondary_icon_sensitive: true, + secondary_icon_activatable: true, + }); + + const keyController = new Gtk.EventControllerKey(); + shortcutEditor.add_controller(keyController); + + let popover = new Gtk.Popover({ + has_arrow: false, + autohide: true, + child: shortcutEditor, + }); + popover.set_parent(this.accelLabel); + popover.set_position(Gtk.PositionType.BOTTOM); + popover.popup(); + + shortcutEditor.grab_focus_without_selecting(); + + const finishEditing = () => { + this.changingKey = false; + this.updateRow(); + }; + + shortcutEditor.connect('activate', () => { + const newaccelstring = ''; + shortcutEditor.set_text(''); + this.writeaccel(this.actionNamed, newaccelstring); + popover.popdown(); + }); // on Enter + + shortcutEditor.connect('icon-press', (entry, position) => { + switch (position) { + case Gtk.EntryIconPosition.PRIMARY: + this.writeaccel(this.actionNamed, this.defaultAccel); + popover.hide(); + break; + case Gtk.EntryIconPosition.SECONDARY: + shortcutEditor.emit('activate'); + break; + } + }); + + + // On popover close (via outside click) + popover.connect('hide', () => { + finishEditing(); + popover.unparent(); + popover = null; + }); + + keyController.connect( + 'key-pressed', (actor, keyval, keycode, state) => { + let newaccelstring; + + if (keyval === Gdk.KEY_Escape) + popover.popdown(); + + if (state && + keyval !== Gdk.KEY_Shift_L && + keyval !== Gdk.KEY_Shift_R && + keyval !== Gdk.KEY_Control_L && + keyval !== Gdk.KEY_Control_R && + keyval !== Gdk.KEY_Alt_L && + keyval !== Gdk.KEY_Alt_R && + keyval !== Gdk.KEY_Meta_L && + keyval !== Gdk.KEY_Meta_R && + keyval !== Gdk.KEY_Super_L && + keyval !== Gdk.KEY_Super_R && + keyval !== Gdk.KEY_Caps_Lock && + keyval !== Gdk.KEY_Num_Lock && + keyval !== Gdk.KEY_AltGr_L && + keyval !== Gdk.KEY_AltGr_R && + keyval !== Gdk.KEY_ISO_Level3_Shift && + keyval !== Gdk.KEY_ISO_Level3_Lock && + keyval !== Gdk.KEY_ISO_Level5_Shift && + keyval !== Gdk.KEY_ISO_Level5_Lock + ) { + const mask = + state & Gtk.accelerator_get_default_mod_mask(); + + newaccelstring = Gtk.accelerator_name(keyval, mask); + shortcutEditor.set_text(newaccelstring); + const oldaccelstring = this.readaccel(this.actionNamed); + + if (oldaccelstring !== newaccelstring) + this.writeaccel(this.actionNamed, newaccelstring); + + popover.hide(); + } + + return true; + }); + } + } +); + +const ShortcutViewer = GObject.registerClass( +class ShortcutViewer extends Adw.PreferencesGroup { + constructor(params = {}) { + super({}); + this._shortcutManager = params.manager; + this._actionMap = this._shortcutManager._mainApp; + this._localShortcuts = this._shortcutManager._localShortcuts; + + this.readaccel = + this._shortcutManager.readActionShortcut + .bind(this._shortcutManager); + + this.set_title(_('System Shortcuts')); + this.set_description(_('Common System Defined Keyboard Shortcuts')); + this._addLocalShortcuts(); + } + + _addLocalShortcuts() { + if (!this._actionMap) + return; + + const actions = + this._actionMap.list_actions() + .sort((a, b) => { + return a + .localeCompare( + b, + { + sensitivity: 'accent', + numeric: 'true', + localeMatcher: 'lookup', + } + ); + }); + + for (const action of actions) { + if (this._localShortcuts[action]?.Edit || + this._localShortcuts[action]?.Global || + !this._localShortcuts[action]?.Accel + ) + continue; + + const actionRow = + new DisplayShortcutRow({ + 'actionname': action, + 'actionmap': this._actionMap, + 'readaccel': this.readaccel.bind(this), + }); + + this.add(actionRow); + } + } +}); + +const LocalShortcutEditor = GObject.registerClass( +class LocalShortcutEditor extends Adw.PreferencesGroup { + constructor(params = {}) { + super({}); + this._shortcutManager = params.manager; + this._actionMap = this._shortcutManager._mainApp; + this._localShortcuts = this._shortcutManager._localShortcuts; + this._rows = []; + + this.readaccel = + this._shortcutManager.readActionShortcut + .bind(this._shortcutManager); + + this.writeaccel = + this._shortcutManager.writeActionShortcut + .bind(this._shortcutManager); + + this.set_title(_('Local Shortcuts')); + this.set_description(_('Application Keyboard Shortcuts')); + this._addLocalShortcuts(); + } + + _addLocalShortcuts() { + if (!this._actionMap) + return; + + const actions = + this._actionMap.list_actions() + .sort((a, b) => { + return a + .localeCompare( + b, + { + sensitivity: 'accent', + numeric: 'true', + localeMatcher: 'lookup', + } + ); + }); + + for (const action of actions) { + if (!this._localShortcuts[action]?.Edit) + continue; + + const actionRow = + new EditableShortcutRow({ + 'actionname': action, + 'actionmap': this._actionMap, + 'readaccel': this.readaccel.bind(this), + 'writeaccel': this.writeaccel.bind(this), + }); + + this.add(actionRow); + this._rows.push(actionRow); + } + } + + update() { + this._rows.forEach(row => row.updateRow()); + } +}); + +const GlobalShortcutEditor = GObject.registerClass( + class GlobalShortcutEditor extends Adw.PreferencesGroup { + constructor(params = {}) { + super({}); + this._shortcutManager = params.manager; + this._actionMap = this._shortcutManager._mainApp; + this._globalShortcuts = this._shortcutManager._globalShortcuts; + this._rows = []; + + this.readaccel = + this._shortcutManager.readGlobalActionShortcut + .bind(this._shortcutManager); + + this.writeaccel = + this._shortcutManager.writeGlobalActionShortcut + .bind(this._shortcutManager); + + this.set_title(_('Global Shortcuts')); + this.set_description(_('System Keyboard Shortcuts')); + this._addGlobalShortcuts(); + } + + _addGlobalShortcuts() { + if (!this._actionMap) + return; + + const actions = + this._actionMap.list_actions() + .sort((a, b) => { + return a + .localeCompare( + b, + { + sensitivity: 'accent', + numeric: 'true', + localeMatcher: 'lookup', + } + ); + }); + + for (const action of actions) { + if (!this._globalShortcuts[action]?.Global) + continue; + + const actionRow = + new EditableShortcutRow({ + 'actionname': action, + 'actionmap': this._actionMap, + 'readaccel': this.readaccel.bind(this), + 'writeaccel': this.writeaccel.bind(this), + }); + + this.add(actionRow); + this._rows.push(actionRow); + } + } + + update() { + this._rows.forEach(row => row.updateRow()); + } + } +); + +const ShortcutManager = class { + constructor(desktopManager) { + this._desktopManager = desktopManager; + this._desktopSettings = desktopManager.Prefs.desktopSettings; + this._mainApp = desktopManager.mainApp; + this._globalShortcuts = GlobalShortcuts; + this._localShortcuts = DefaultShortcuts; + this._overRideMap = new Map(); + this._initializeOurShortcuts(); + this._monitorUserShortcuts(); + this._refreshUserShortcuts(); + this._addTextEntryActions(); + this._mainApp.connect( + 'action-added', + (_app, name) => this._setAccel(name) + ); + this._mainApp.connect( + 'action-enabled-changed', + (_app, name, _enabled) => this._setAccel(name) + ); + // Global shortcuts are automatically monitored and set by the + // extension from settings + } + + _addTextEntryActions() { + const textEntryOn = Gio.SimpleAction.new('textEntryOn', null); + textEntryOn.connect('activate', this._textEntryAccelsTurnOn.bind(this)); + this._mainApp.add_action(textEntryOn); + + const textEntryOff = Gio.SimpleAction.new('textEntryOff', null); + textEntryOff.connect('activate', this._textEntryAccelsTurnOff.bind(this)); + this._mainApp.add_action(textEntryOff); + } + + // this function is not used, but is another way of setting action + // descriptions. + _setStateHints() { + for (const [actionName, {Hint}] of + Object.entries(this._localShortcuts) + ) { + const action = this._mainApp.lookup_action(actionName); + + if (action) { + action.set_state_hint( + GLib.Variant.new_string(Hint) + ); + } + } + } + + _monitorUserShortcuts() { + this._userShortcutMonitor = this._desktopSettings.connect( + 'changed', + (obj, key) => { + if (key === 'shortcutoverrides') + this._refreshUserShortcuts(); + } + ); + } + + _refreshUserShortcuts() { + this._readUserShortcuts(); + this._setAllAccels(); + } + + _readUserShortcuts() { + const value = + this._desktopSettings.get_value('shortcutoverrides') + .deep_unpack(); + + this._overRideMap = new Map(Object.entries(value)); + } + + _writeUserShortcuts() { + const value = Object.fromEntries(this._overRideMap); + const variant = new GLib.Variant('a{ss}', value); + this._desktopSettings.set_value('shortcutoverrides', variant); + } + + _setAllAccels() { + for (const actionName of Object.keys(this._localShortcuts)) + this._setAccel(actionName); + } + + _setAccel(actionName) { + const action = this._mainApp.lookup_action(actionName); + + if (!action) + return; + + const accel = this._readOverRideActionShortcut(actionName); + const accelarray = accel.length ? accel.split(',') : []; + + this._mainApp.set_accels_for_action( + `app.${actionName}`, accelarray + ); + } + + _readOverRideActionShortcut(actionName) { + const defaultShortCut = this._localShortcuts[actionName].Accel ?? ''; + const userShortcut = this._overRideMap.get(actionName); + + const overrideShortCut = this._overRideMap.has(actionName) + ? userShortcut + : defaultShortCut; + + return overrideShortCut; + } + + readActionShortcut(actionName) { + return this._mainApp.get_accels_for_action(`app.${actionName}`); + } + + writeActionShortcut(actionName, accel) { + if (accel.length || accel === '') + this._overRideMap.set(actionName, accel); + else + this._overRideMap.delete(actionName); + + this._desktopSettings.block_signal_handler(this._userShortcutMonitor); + this._writeUserShortcuts(); + this._setAccel(actionName); + this._desktopSettings.unblock_signal_handler(this._userShortcutMonitor); + } + + readGlobalActionShortcut(actionName) { + return this._desktopSettings.get_strv(actionName.toLowerCase()); + } + + writeGlobalActionShortcut(actionName, accel) { + let accelArray = []; + + if (Array.isArray(accel)) + accelArray = accel; + else if (accel.length) + accelArray = accel.split(','); + + this._desktopSettings.set_strv(actionName.toLowerCase(), accelArray); + } + + _initializeOurShortcuts() { + const showShortcutViewer = + Gio.SimpleAction.new('showShortcutViewer', null); + showShortcutViewer.connect('activate', () => { + this._showShortcutViewer(); + }); + this._mainApp.add_action(showShortcutViewer); + + const textEntryAccelsTurnOn = + Gio.SimpleAction.new('textEntryAccelsTurnOn', null); + textEntryAccelsTurnOn.connect('activate', () => { + this._textEntryAccelsTurnOn(); + }); + this._mainApp.add_action(textEntryAccelsTurnOn); + + const textEntryAccelsTurnOff = + Gio.SimpleAction.new('textEntryAccelsTurnOff', null); + textEntryAccelsTurnOff.connect('activate', () => { + this._textEntryAccelsTurnOff(); + }); + this._mainApp.add_action(textEntryAccelsTurnOff); + } + + _textEntryAccelsTurnOn() { + this._mainApp.set_accels_for_action( + 'app.previewAction', + this._localShortcuts.previewAction.Accel.split(',') + ); + this._mainApp.set_accels_for_action( + 'app.unselectAll', + this._localShortcuts.unselectAll.Accel.split(',') + ); + this._mainApp.set_accels_for_action( + 'app.openOneFileAction', + this._localShortcuts.openOneFileAction.Accel.split(',') + ); + this._mainApp.set_accels_for_action( + 'app.movetotrash', + this._localShortcuts.movetotrash.Accel.split(',') + ); + this._mainApp.set_accels_for_action( + 'app.chooseIconLeft', + this._localShortcuts.chooseIconLeft.Accel.split(',') + ); + this._mainApp.set_accels_for_action( + 'app.chooseIconRight', + this._localShortcuts.chooseIconRight.Accel.split(',') + ); + this._mainApp.set_accels_for_action( + 'app.chooseIconUp', + this._localShortcuts.chooseIconUp.Accel.split(',') + ); + this._mainApp.set_accels_for_action( + 'app.chooseIconDown', + this._localShortcuts.chooseIconDown.Accel.split(',') + ); + this._mainApp.set_accels_for_action( + 'app.menuKeyPressed', + this._localShortcuts.menuKeyPressed.Accel.split(',') + ); + this._mainApp.set_accels_for_action( + 'app.findFiles', + this._localShortcuts.findFiles.Accel.split(',') + ); + this._mainApp.set_accels_for_action( + 'app.toggleKeyboardSelection', + this._localShortcuts.toggleKeyboardSelection.Accel.split(',') + ); + } + + _textEntryAccelsTurnOff() { + this._mainApp.set_accels_for_action('app.previewAction', ['']); + this._mainApp.set_accels_for_action('app.unselectAll', ['']); + this._mainApp.set_accels_for_action('app.openOneFileAction', ['']); + this._mainApp.set_accels_for_action('app.movetotrash', ['']); + this._mainApp.set_accels_for_action('app.chooseIconLeft', ['']); + this._mainApp.set_accels_for_action('app.chooseIconRight', ['']); + this._mainApp.set_accels_for_action('app.chooseIconUp', ['']); + this._mainApp.set_accels_for_action('app.chooseIconDown', ['']); + this._mainApp.set_accels_for_action('app.menuKeyPressed', ['']); + this._mainApp.set_accels_for_action('app.findFiles', ['']); + this._mainApp.set_accels_for_action( + 'app.toggleKeyboardSelection', + [''] + ); + } + + _resetGlobalShortcuts() { + Object.keys(this._globalShortcuts).forEach(actionKey => { + const defaultAccel = this._globalShortcuts[actionKey]?.Accel; + this.writeGlobalActionShortcut(actionKey, defaultAccel); + }); + this.globalShortcutGroup?.update(); + } + + _resetLocalShortcuts() { + this._overRideMap = new Map(); + this._writeUserShortcuts(); + this._refreshUserShortcuts(); + this.localShortcutGroup?.update(); + } + + _resetAllShortcuts() { + this._resetGlobalShortcuts(); + this._resetLocalShortcuts(); + console.log('All Shortcuts reset to Defaults!'); + } + + _showShortcutViewer() { + if (this._shortCutsWindow) + return; + + const shortcutsWindow = new Adw.PreferencesWindow(); + + shortcutsWindow.set_can_navigate_back(true); + shortcutsWindow.set_search_enabled(true); + shortcutsWindow.set_application(this._mainApp); + shortcutsWindow.set_default_size(400, 600); + shortcutsWindow.set_decorated(true); + shortcutsWindow.set_deletable(true); + shortcutsWindow.set_name('shortcutsWindow'); + shortcutsWindow.set_title('Shortcuts'); + shortcutsWindow.set_default_size(600, 650); + + // Do not make modal or skip-taskbar as we have a .desktop icon + // showing up in the dock for the window to assist navigation. + // const modal = true; + // this._DesktopIconsUtil.windowHidePagerTaskbarModal( + // shortcutsWindow, modal); + + const shortcutsFrame = Adw.PreferencesPage.new(); + shortcutsFrame.set_name(_('Keyboard Shortcuts')); + + const systemShortcutGroup = new ShortcutViewer({manager: this}); + shortcutsFrame.add(systemShortcutGroup); + + this.globalShortcutGroup = new GlobalShortcutEditor({manager: this}); + shortcutsFrame.add(this.globalShortcutGroup); + + this.localShortcutGroup = new LocalShortcutEditor({manager: this}); + shortcutsFrame.add(this.localShortcutGroup); + + const resetGroup = new Adw.PreferencesGroup({ + title: _('Reset Shortcuts'), + description: _('Reset all shortcuts to Defaults'), + }); + const resetButton = new Adw.ActionRow({ + title: _('Reset All...'), + }); + const icon = Gtk.Image.new_from_icon_name('edit-undo-symbolic'); + resetButton.add_suffix(icon); + resetButton.set_activatable_widget(icon); + resetButton.connect('activated', this._resetAllShortcuts.bind(this)); + resetButton.get_style_context().add_class('destructive-action'); + resetGroup.add(resetButton); + shortcutsFrame.add(resetGroup); + + shortcutsWindow.add(shortcutsFrame); + + this._shortCutsWindow = shortcutsWindow; + + shortcutsWindow.connect('close-request', () => { + this._shortCutsWindow = null; + this.globalShortcutGroup = null; + this.localShortcutGroup = null; + }); + + shortcutsWindow.show(); + } +}; diff --git a/ding/app/shortcuts.js b/ding/app/shortcuts.js new file mode 100644 index 0000000..861307d --- /dev/null +++ b/ding/app/shortcuts.js @@ -0,0 +1,102 @@ +import {_} from '../dependencies/gettext.js'; + +// app.actionName, Hint: Hint to display for action, Accel: Accelerator Key +// Editing this file will automatically set the hints and Accelerator when +// the program is started. +// +// Make sure file is not broken by edits! + +export const DefaultShortcuts = { + doNewFolder: {Hint: _('New Folder'), Accel: 'N', Edit: true}, + doPaste: {Hint: _('Paste'), Accel: 'V'}, + doUndo: {Hint: _('Undo'), Accel: 'Z'}, + doRedo: {Hint: _('Redo'), Accel: 'Z'}, + selectAll: {Hint: _('Select All'), Accel: 'A'}, + showDesktopInFiles: {Hint: _('Show Desktop in Files'), Accel: '', Edit: true}, + openInTerminal: {Hint: _('Open in Terminal'), Accel: '', Edit: true}, + changeBackGround: {Hint: _('Change Background'), Accel: '', Edit: true}, + changeDisplaySettings: {Hint: _('Change Display Settings'), Accel: '', Edit: true}, + changeDesktopIconSettings: {Hint: _('Change Desktop Icon Settings'), Accel: '', Edit: true}, + cleanUpIcons: {Hint: _('Clean Up Icons'), Accel: '', Edit: true}, + 'keep-arranged': {Hint: _('Keep Arranged'), Accel: '', Edit: true}, + 'keep-stacked': {Hint: _('Keep Stacked'), Accel: '', Edit: true}, + sortSpecialFolders: {Hint: _('Sort Special Folders'), Accel: ''}, + arrangeByName: {Hint: _('Arrange Icons by Name'), Accel: '', Edit: true}, + arrangeByDescendingName: {Hint: _('Arrange Icons By Descending Name'), Accel: '', Edit: true}, + arrangeByModifiedTime: {Hint: _('Arrange Icons By Modified Time'), Accel: '', Edit: true}, + arrangeByKind: {Hint: _('Arrange Icons By Kind'), Accel: '', Edit: true}, + arrangeBySize: {Hint: _('Arrange Icons By Size'), Accel: '', Edit: true}, + findFiles: {Hint: _('Find Files'), Accel: 'F', Edit: true}, + updateDesktop: {Hint: _('Update Desktop'), Accel: 'F5', Edit: true}, + showHideHiddenFiles: {Hint: _('Show Hidden Files'), Accel: 'H'}, + unselectAll: {Hint: _('Unselect All'), Accel: 'Escape'}, + previewAction: {Hint: _('Preview'), Accel: 'space'}, + toggleKeyboardSelection: {Hint: _('Toggle Keyboard Selection'), + Accel: 'space'}, + toggleWidgetLayer: {Hint: _('Toggle Widget Layer'), Accel: 'L', Edit: true}, + addWidget: {Hint: _('Add Widget'), Accel: 'plus', Edit: true}, + // Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) + chooseIconLeft: {Hint: _('Choose Icon Left'), + Accel: 'Left,Left,Left,Left,' + + 'Left,Left'}, + chooseIconRight: {Hint: _('Choose Icon Right'), + Accel: 'Right,Right,Right,Right,' + + 'Right,Right'}, + chooseIconUp: {Hint: _('Choose Icon Up'), + Accel: 'Up,Up,Up,Up,' + + 'Up,Up'}, + chooseIconDown: {Hint: _('Choose Icon Down'), + Accel: 'Down,Down,Down,Down,' + + 'Down,Down'}, + menuKeyPressed: {Hint: _('Show Menu'), Accel: 'Menu,F10'}, + displayShellBackgroundMenu: {Hint: _('Display Shell Background Menu'), Accel: ''}, + createDesktopShortcut: {Hint: _('Create Desktop Shortcut'), Accel: '', Edit: true}, + textEntryAccelsTurnOn: {Hint: _('Text Entry Accels Turn On'), Accel: ''}, + textEntryAccelsTurnOff: {Hint: _('Text Entry Accels Turn Off'), Accel: ''}, + newDocument: {Hint: _('New Document'), Accel: ''}, + showShortcutViewer: {Hint: _('Show Shortcut Viewer'), Accel: '', Edit: true}, + toggleVisibility: {Hint: _('Show Or Hide Desktop Icons'), Accel: '', Global: true}, + // FileItem Menu Actions + openMultipleFileAction: {Hint: 'Open All', Accel: 'Return', Edit: true}, + openOneFileAction: {Hint: 'Open Item', Accel: 'Return', Edit: true}, + stackunstack: {Hint: 'Stack/Unstack', Accel: ''}, + doopenwith: {Hint: 'Open With', Accel: '', Edit: true}, + graphicslaunch: {Hint: 'Launch using Integrated Graphics Card', Accel: ''}, + runasaprogram: {Hint: 'Run as a Program', Accel: ''}, + docut: {Hint: 'Cut Item', Accel: 'X'}, + docopy: {Hint: 'Copy Item', Accel: 'C'}, + dorename: {Hint: 'Rename Item', Accel: 'F2', Edit: true}, + movetotrash: {Hint: 'Move to Trash', Accel: 'Delete'}, + deletepermanantly: {Hint: 'Delete Permanently', Accel: 'Delete'}, + emptytrash: {Hint: 'Empty Trash', Accel: '', Edit: true}, + allowdisallowlaunching: {Hint: 'Allow/Disallow Launching', Accel: '', Edit: true}, + eject: {Hint: 'Eject', Accel: '', Edit: true}, + unmount: {Hint: 'Unmount', Accel: '', Edit: true}, + extractautoar: {Hint: 'Extract Here', Accel: ''}, + extracthere: {Hint: 'Extract Here', Accel: ''}, + extractto: {Hint: 'Extract To', Accel: ''}, + sendto: {Hint: 'Email to', Accel: '', Edit: true}, + compressfiles: {Hint: 'Compress Files', Accel: '', Edit: true}, + newfolderfromselection: {Hint: 'New Folder from Selection', Accel: '', Edit: true}, + properties: {Hint: 'Show Properties', Accel: 'I', Edit: true}, + showinfiles: {Hint: 'Show in Files', Accel: '', Edit: true}, + openinterminal: {Hint: 'Open Terminal with Shell at this path', Accel: '', Edit: true}, + openDesktopInTerminal: {Hint: 'Open Terminal at Desktop path', Accel: '', Edit: true}, + makeLinks: {Hint: 'Create Link to Item', Accel: 'M', Edit: true}, + bulkCopy: {Hint: 'Copy to', Accel: '', Edit: true}, + bulkMove: {Hint: 'Move to', Accel: '', Edit: true}, + onScriptClicked: {Hint: 'Run Script', Accel: ''}, + closeWidget: {Hint: 'Close Selected Widget', Accel: 'X', Edit: true}, + toggleWidgetGrid: {Hint: 'Toggle Widget Grid', Accel: 'G', Edit: true}, +}; + +// Following Global shortcuts will be added for editing and are editable +// However we need to add the key - the actioinName in lowercase to schemas +// for this to work, whithout the key added, it will not work. +// For example, for the one below, togglevisibility key added as {as} gvariant +// The program will automatically look for the lowercase key in schemas by +// converting the actionName.toLowerCase(). + +export const GlobalShortcuts = { + toggleVisibility: DefaultShortcuts.toggleVisibility, +}; diff --git a/ding/app/showErrorPopup.js b/ding/app/showErrorPopup.js new file mode 100644 index 0000000..1743929 --- /dev/null +++ b/ding/app/showErrorPopup.js @@ -0,0 +1,108 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Copyright (C) 2022, 2025 Sundeep Mediratta (smedius@gmail.com) gtk4 port + * Copyright (C) 2019 Sergio Costas (rastersoft@gmail.com) + * Based on code original (C) 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, 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 . + */ +import {Adw, Gdk, Gio} from '../dependencies/gi.js'; +import {_} from '../dependencies/gettext.js'; + +export {ShowErrorPopup}; + +const ShowErrorPopup = class { + constructor(text, secondaryText, waitDelayMs, helpURL = null) { + this._waitDelayMs = waitDelayMs; // async function + this._applicationId = Gio.Application.get_default(); + this._window = this._applicationId.get_active_window(); + this._dialog = new Adw.AlertDialog(); + this._dialog.set_body_use_markup(true); + this._dialog.set_heading_use_markup(true); + + if (text) + this._dialog.set_heading(text); + + if (secondaryText) + this._dialog.set_body(secondaryText); + + if (helpURL) { + this._helpURL = helpURL; + this._dialog.add_response('0', _('Cancel')); + this._dialog.add_response('1', _('More Information')); + this._dialog.set_close_response('0'); + this._dialog.set_default_response('1'); + + this._dialog.set_response_appearance( + '1', + Adw.ResponseAppearance.SUGGESTED + ); + + this._dialog.set_response_appearance( + '0', + Adw.ResponseAppearance.DEFAULT + ); + + this._dialog.set_prefer_wide_layout(true); + } else { + this._dialog.add_response('0', _('Cancel')); + this._dialog.set_close_response('0'); + this._dialog.set_default_response('0'); + + this._dialog.set_response_appearance( + '0', + Adw.ResponseAppearance.DEFAULT + ); + } + this._dialog.connect('response', this._callback.bind(this)); + } + + show() { + this._dialog.present(this._window); + } + + _callback(actor, response) { + if (response === '1' && this._helpURL) + this._launchUri(this._helpURL); + } + + run() { + return new Promise(resolve => { + this._dialog.choose(this._window, null, (actor, asyncResult) => { + const response = actor.choose_finish(asyncResult); + resolve(response); + }); + }); + } + + async runAutoClose(time) { + this.show(); + await this._timeoutClose(time); + } + + close() { + this._dialog.close(); + } + + async _timeoutClose(time) { + await this._waitDelayMs(time); + this._dialog.set_response_enabled('0', false); + this.close(); + } + + _launchUri(uri) { + const context = Gdk.Display.get_default().get_app_launch_context(); + context.set_timestamp(Gdk.CURRENT_TIME); + Gio.AppInfo.launch_default_for_uri(uri, context); + } +}; diff --git a/ding/app/specialFolderIcon.js b/ding/app/specialFolderIcon.js new file mode 100644 index 0000000..3cf5483 --- /dev/null +++ b/ding/app/specialFolderIcon.js @@ -0,0 +1,174 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Gtk4 Port Copyright (C) 2022 - 2025 Sundeep Mediratta (smedius@gmail.com) + * Based on code original (C) Carlos Soriano and Sergio Costas + * SwitcherooControl code based on code original from Marsch84 + * + * 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 . + */ + +import {Gtk, Gdk, Gio} from '../dependencies/gi.js'; +import {FileItemIcon} from '../dependencies/localFiles.js'; + +import {_} from '../dependencies/gettext.js'; + +export {SpecialFolderIcon}; + +const SpecialFolderIcon = class extends FileItemIcon { + constructor(desktopManager, file, fileInfo, fileTypeEnum, gioMount) { + super(desktopManager, file, fileInfo, fileTypeEnum, gioMount); + + this._isTrash = + this._fileTypeEnum === this.Enums.FileType.USER_DIRECTORY_TRASH; + + if (this.isTrash) { + // if this icon is the trash, monitor the state of the + // directory to update the icon + this._monitorTrash(); + } else { + this._monitorTrashId = 0; + } + } + + _destroy() { + super._destroy(); + /* Trash */ + if (this._monitorTrashId) { + this._monitorTrashDir.disconnect(this._monitorTrashId); + this._monitorTrashDir.cancel(); + this._monitorTrashId = 0; + } + } + + _setFileName(text) { + if (this._fileTypeEnum === this.Enums.FileType.USER_DIRECTORY_HOME) { + // TRANSLATORS: "Home" is the text that will be shown in + // the user's personal folder + text = _('Home'); + } + super._setLabelName(text); + } + + _setAccesibilityName() { + const trashName = _('Trash'); + + switch (this._fileTypeEnum) { + case this.Enums.FileType.USER_DIRECTORY_HOME: + this.container.update_property( + [Gtk.AccessibleProperty.LABEL], + [_('Home')] + ); + break; + + case this.Enums.FileType.USER_DIRECTORY_TRASH: + /** TRANSLATORS: when using a screen reader,this is the text read + * when the trash folder is selected. */ + this.container.update_property( + [Gtk.AccessibleProperty.LABEL], + [`${trashName}`] + ); + break; + } + } + + _updateMetadataFromFileInfo(fileInfo) { + super._updateMetadataFromFileInfo(fileInfo); + + this._isTrash = + this._fileTypeEnum === this.Enums.FileType.USER_DIRECTORY_TRASH; + } + + _monitorTrash() { + this._monitorTrashDir = + this._file.monitor_directory( + Gio.FileMonitorFlags.WATCH_MOVES, + null + ); + + this._monitorTrashDir.set_rate_limit(1000); + + this._monitorTrashId = + this._monitorTrashDir.connect( + 'changed', + (_obj, _file, _otherFile, eventType) => { + this._refreshTrashIcon(eventType); + } + ); + } + + async _refreshTrashIcon(eventType) { + switch (eventType) { + case Gio.FileMonitorEvent.DELETED: + case Gio.FileMonitorEvent.MOVED_OUT: + case Gio.FileMonitorEvent.CREATED: + case Gio.FileMonitorEvent.MOVED_IN: + await this._reloadIcon().catch(e => { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { + console.error( + e, + `Exception while updating ${ + this._getVisibleName() + ? this._getVisibleName() + : 'Trash icon' + }: ${e.message}`); + } + }); + + break; + } + + return false; + } + + async _handleDroppedUris( + X, Y, + x, y, + fileList, + gdkDropAction, + localDrop, + event + ) { + const forceCopy = gdkDropAction === Gdk.DragAction.COPY; + + if (this._fileTypeEnum === this.Enums.FileType.USER_DIRECTORY_TRASH) { + if (localDrop) { + this._desktopManager + .fileItemActions + .doTrash(localDrop, event); + } else { + this.DBusUtils.RemoteFileOperations.pushEvent(event); + this.DBusUtils.RemoteFileOperations.TrashURIsRemote(fileList); + } + + if (forceCopy) + return Gdk.DragAction.COPY; + else + return Gdk.DragAction.MOVE; + } + + const returnaction = await super._handleDroppedUris( + X, Y, + x, y, + fileList, + gdkDropAction, + localDrop, + event + ); + + return returnaction; + } + + get isTrash() { + return this._isTrash; + } +}; diff --git a/ding/app/stackItem.js b/ding/app/stackItem.js new file mode 100644 index 0000000..68dbb56 --- /dev/null +++ b/ding/app/stackItem.js @@ -0,0 +1,236 @@ + +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Copyright (C) Gtk4 port 2022, 2025 Sundeep Mediratta (smedius@gmail.com) + * Copyright (C) 2019 Sergio Costas (rastersoft@gmail.com) + * Based on code original (C) Carlos Soriano + * SwitcherooControl code based on code original from Marsch84 + * + * 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 . + */ +import {_} from '../dependencies/gettext.js'; +import {Gdk, Gio, Graphene, Gtk, Gsk, GLib} from '../dependencies/gi.js'; +import * as DesktopIconItem from './desktopIconItem.js'; + +export {StackItem}; + +const Signals = imports.signals; + +const StackItem = class extends DesktopIconItem.DesktopIconItem { + constructor(desktopManager, file, attributeContentType, fileTypeEnum) { + super(desktopManager, fileTypeEnum); + this._isSpecial = false; + this._file = file; + this.isStackTop = true; + this.stackUnique = false; + this._size = null; + this._modifiedTime = null; + this._attributeContentType = attributeContentType; + this._createIconActor(); + this._createStackTopIcon(); + const stackName = this._file; + /** TRANSLATORS: when using a screen reader, + * this is the text read when a stack is + * selected. Example: if a stack named "pictures" + * is selected, it will say "Stack pictures" */ + const accessibleName = _('Stack'); + this._setLabelName(stackName); + this.container.update_property( + [Gtk.AccessibleProperty.LABEL], + [`${accessibleName} ${stackName}`] + ); + this._savedCoordinates = null; + } + + _createStackedAttributeContentTypeIcon() { + const stackIcon = Gtk.Snapshot.new(); + /* A shadow for the pile of icons gives a sense of floating. */ + const stackShadow = { + color: {red: 0, green: 0, blue: 0, alpha: 0.15}, + dx: 2, + dy: 0, + radius: 1, + }; + /* A slight shadow swhich makes each icon in the stack look separate. */ + const iconShadow = { + color: {red: 0, green: 0, blue: 0, alpha: 0.30}, + dx: 1, + dy: 0, + radius: 1, + }; + const numberOfIcons = 5; + let yOffset = 0; + let xOffset = this.unStacked ? 8 : 4; + const icon = Gio.content_type_get_icon(this._attributeContentType); + const theme = Gtk.IconTheme.get_for_display(Gdk.Display.get_default()); + const scale = this._icon.get_scale_factor(); + let iconPaintable = null; + try { + iconPaintable = theme.lookup_by_gicon( + icon, + this.Prefs.IconSize, + scale, Gtk.TextDirection.NONE, + Gtk.IconLookupFlags.FORCE_SIZE + ); + } catch (e) { + iconPaintable = theme.lookup_icon( + 'image-missing', + [], + this.Prefs.IconSize, + scale, + Gtk.TextDirection.NONE, + Gtk.IconLookupFlags.FORCE_SIZE + ); + } + const stackIconArray = Array(numberOfIcons).fill(iconPaintable); + const w = iconPaintable.get_intrinsic_width(); + const h = iconPaintable.get_intrinsic_height(); + let X = xOffset * numberOfIcons; + let Y = yOffset; + + stackIcon.translate(new Graphene.Point({x: X, y: Y})); + stackIcon.push_shadow([new Gsk.Shadow(stackShadow)]); + + stackIconArray.forEach(paintableWidget => { + // Position each widget from right to left + X = -xOffset; + stackIcon.translate(new Graphene.Point({x: X, y: Y})); + stackIcon.push_shadow([new Gsk.Shadow(iconShadow)]); + + // Render the paintable widget + paintableWidget.snapshot(stackIcon, w, h); + + stackIcon.pop(); // Remove shadow effect for the next widget + }); + // Remove the initial transformation & shadow + stackIcon.pop(); + + return stackIcon.to_paintable(null); + } + + _createStackTopIcon() { + const stackIcon = this._createStackedAttributeContentTypeIcon(); + const iconPaintable = this._addEmblemsToIconIfNeeded(stackIcon); + this._icon.set_paintable(iconPaintable); + } + + // eslint-disable-next-line no-unused-vars + _doButtonOnePressed(button, X, Y, x, y, shiftPressed, controlPressed) { + const variant = GLib.Variant.new('s', this.attributeContentType); + this._desktopManager.mainApp.activate_action( + 'stackunstack', + variant + ); + } + + setSelected() { + this.container.grab_focus(); + } + + unsetSelected() { + this.keyboardUnSelected(); + } + + updateIcon() { + this._createStackTopIcon(); + } + + _addEmblemsToIconIfNeeded(iconPaintable) { + let emblem = null; + + if (this.isStackTop && !this.stackUnique) + emblem = Gio.ThemedIcon.new('icon-emblem-stack'); + + return this._addEmblem(iconPaintable, emblem); + } + + /** ********************* + * Getters and setters * + ***********************/ + + get attributeContentType() { + return this._attributeContentType; + } + + get displayName() { + return this._file; + } + + get file() { + return this._file; + } + + get fileName() { + return this._file; + } + + get fileSize() { + return this._size; + } + + get isAllSelectable() { + return false; + } + + get modifiedTime() { + return this._modifiedTime; + } + + get path() { + return `/tmp/${this._file}`; + } + + get uri() { + return `file:///tmp/${this._file}`; + } + + get isStackMarker() { + return true; + } + + get savedCoordinates() { + return this._savedCoordinates; + } + + get unStacked() { + return this.Prefs.UnstackList.includes(this._attributeContentType); + } + + get x() { + return this._x1; + } + + get y() { + return this._y1; + } + + get X() { + return this._savedCoordinates[0]; + } + + get Y() { + return this._savedCoordinates[1]; + } + + set size(size) { + this._size = size; + } + + set time(time) { + this._modifiedTime = time; + } + + set savedCoordinates(pos) { + } +}; +Signals.addSignalMethods(StackItem.prototype); diff --git a/ding/app/symLinkIcon.js b/ding/app/symLinkIcon.js new file mode 100644 index 0000000..c137df3 --- /dev/null +++ b/ding/app/symLinkIcon.js @@ -0,0 +1,178 @@ +/* + * Adw-DING Copyright (C) 2022, 2025 Sundeep Mediratta (smedius@gmail.com) + * Based on code original (C) Carlos Soriano and (c) 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, 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 . +*/ + +import {Gio} from '../dependencies/gi.js'; + +import {_} from '../dependencies/gettext.js'; + +export {SymLinkIcon}; + +const SymLinkIcon = class { + constructor( + Basetype, + ddesktopManager, + ffile, + ffileInfo, + ffileTypeEnum, + ggioMount + ) { + const SymLinkSuperClass = class extends Basetype { + constructor( + desktopManager, + file, + fileInfo, + fileTypeEnum, + gioMount + ) { + super(desktopManager, file, fileInfo, fileTypeEnum, gioMount); + + this._isSymlink = fileInfo.get_attribute_boolean( + Gio.FILE_ATTRIBUTE_STANDARD_IS_SYMLINK + ); + + /* + * 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; + + if (this._isSymlink && !this._symlinkFileMonitor) + this._monitorSymlink(); + } + + _updateMetadataFromFileInfo(fileInfo) { + this._isSymlink = fileInfo.get_attribute_boolean( + Gio.FILE_ATTRIBUTE_STANDARD_IS_SYMLINK + ); + + /* + * 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; + + super._updateMetadataFromFileInfo(fileInfo); + } + + _destroy() { + super._destroy(); + + if (this._symlinkFileMonitorId) { + this._symlinkFileMonitor.disconnect(this._symlinkFileMonitorId); + this._symlinkFileMonitor.cancel(); + this._symlinkFileMonitorId = 0; + } + } + + async _doOpenContext(context, fileList) { + if (!fileList) + fileList = []; + + if (this._isBrokenSymlink) { + try { + console.log( + `Error: Can’t open ${this.file.get_uri()}` + + ' because it is a broken symlink.' + ); + + const title = _('Broken Link'); + const error = + _('Can not open this File because it is a Broken Symlink'); + + this._showerrorpopup(title, error); + } catch (e) {} + + return; + } + + await super._doOpenContext(context, fileList); + } + + _monitorSymlink() { + let symlinkTarget = this._fileInfo.get_symlink_target(); + let symlinkTargetGioFile = Gio.File.new_for_path(symlinkTarget); + + this._symlinkFileMonitor = symlinkTargetGioFile.monitor( + Gio.FileMonitorFlags.WATCH_MOVES, + null + ); + + this._symlinkFileMonitor.set_rate_limit(1000); + + this._symlinkFileMonitorId = this._symlinkFileMonitor.connect( + 'changed', + this._updateSymlinkIcon.bind(this) + ); + } + + async _updateSymlinkIcon() { + await this._reloadIcon().catch(e => { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { + console.error( + e, + `Exception while updating ${ + this._getVisibleName() + ? this._getVisibleName() + : 'symlink icon' + }: ${e.message}`); + } + }); + } + + _addEmblemsToIconIfNeeded(iconPaintable, position = 0) { + let emblem = null; + let newIconPaintable = iconPaintable; + + if (this._isSymlink && this.Prefs.showLinkEmblem) { + emblem = Gio.ThemedIcon.new('icon-emblem-symbolic-link'); + + newIconPaintable = + this._addEmblem(newIconPaintable, emblem, position); + + position += 1; + } + + if (this._isBrokenSymlink) { + emblem = Gio.ThemedIcon.new('icon-emblem-unreadable'); + + newIconPaintable = + this._addEmblem(newIconPaintable, emblem, position); + + position += 1; + } + + return super._addEmblemsToIconIfNeeded(newIconPaintable, position); + } + }; + + return new SymLinkSuperClass( + ddesktopManager, + ffile, + ffileInfo, + ffileTypeEnum, + ggioMount + ); + } +}; diff --git a/ding/app/templatesScriptsManager.js b/ding/app/templatesScriptsManager.js new file mode 100644 index 0000000..758882b --- /dev/null +++ b/ding/app/templatesScriptsManager.js @@ -0,0 +1,308 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Gtk4 Port Copyright (C) 2022, 2025 Sundeep Mediratta (smedius@gmail.com) + * 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 . + */ +import {Gio, GLib} from '../dependencies/gi.js'; + +export {TemplatesScriptsManager}; + +const MAX_DIRS = 100; +const MAX_MENUENTRIES = 50; +const MAX_MENU_DEPTH = 10; + +const TemplatesScriptsManager = class { + constructor(baseFolder, selectionfilter, Data) { + this._selectionFilter = selectionfilter; + this._actionName = Data.appName; + this.FileUtils = Data.FileUtils; + this.Enums = Data.Enums; + this._entries = []; + this._entriesEnumerateCancellable = null; + this._entriesDir = baseFolder; + this._entriesDirMonitors = []; + this.gioMenu = null; + + if (this._entriesDir === GLib.get_home_dir()) + this._entriesDir = null; + + if (this._entriesDir !== null) { + this._monitorDir = + baseFolder.monitor_directory( + Gio.FileMonitorFlags.WATCH_MOVES, + null + ); + + this._monitorDir.set_rate_limit(1000); + + this._monitorDir.connect( + 'changed', + () => { + this.updateEntries() + .catch( + e => { + console.log( + 'Exception while updating entries in ' + + `monitor: ${e.message}\n${e.stack}` + ); + } + ); + } + ); + + this.updateEntries() + .catch(e => { + console.log( + 'Exception while updating entries: ' + + `${e.message}\n${e.stack}` + ); + }); + } + } + + async updateEntries() { + if (this._entriesEnumerateCancellable) + this._entriesEnumerateCancellable.cancel(); + + + const cancellable = new Gio.Cancellable(); + this._entriesEnumerateCancellable = cancellable; + + this._entriesDirMonitors.forEach(f => { + f[0].disconnect(f[1]); + f[0].cancel(); + }); + + this._entriesDirMonitors = []; + this._menuEntries = new Set(); + + let entriesList; + + try { + entriesList = await this._processDirectory(this._entriesDir, + cancellable); + } catch (e) { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED) && + !e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) + console.error(e); + } finally { + if (this._entriesEnumerateCancellable === cancellable) + this._entriesEnumerateCancellable = null; + } + + [this._entries, this.gioMenu] = + entriesList !== null + ? entriesList + : [null, null]; + } + + async _processDirectory(directory, cancellable, recursionLevel = 0) { + const localRecursionLevel = recursionLevel += 1; + var files = null; + + try { + files = await this._readDirectory(directory, cancellable); + } catch (e) { + console.error(e); + return null; + } + + if (files === null) + return null; + + let outputEntries = []; + let menu = new Gio.Menu(); + let menuhasentries = false; + + for (let file of files) { + let menuItemName = file[0]; + + if (file[2] === null) { + outputEntries.push(file); + let menuItemPath = file[1]; + + if (this._menuEntries.has(menuItemPath)) + continue; + + this._menuEntries.add(menuItemPath); + let menuItem = Gio.MenuItem.new(`${menuItemName}`, null); + + menuItem.set_action_and_target_value( + this._actionName, + GLib.Variant.new('s', `${menuItemPath}`) + ); + + menu.append_item(menuItem); + menuhasentries = true; + + continue; + } + + if (this._entriesDirMonitors.length > MAX_DIRS) { + console.log( + 'Limiting the number of folders monitored in ' + + 'templates/scripts...' + ); + continue; + } + + if (localRecursionLevel > MAX_MENU_DEPTH) { + console.log( + 'Limiting submenu depth of folders monitored' + + ' in templates/scripts...' + ); + continue; + } + + let dirpath = file[1].get_path(); + + const newFileInfo = + // eslint-disable-next-line no-await-in-loop + await file[1].query_info_async( + this.Enums.DEFAULT_ATTRIBUTES, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_DEFAULT, + cancellable + ); + + if (newFileInfo + .get_attribute_boolean( + Gio.FILE_ATTRIBUTE_STANDARD_IS_SYMLINK + ) + ) + dirpath = newFileInfo.get_symlink_target(); + + if (this._menuEntries.has(dirpath)) + continue; + + this._menuEntries.add(dirpath); + + let monitorDir = + file[1].monitor_directory( + Gio.FileMonitorFlags.WATCH_MOVES, + null + ); + + monitorDir.set_rate_limit(1000); + + let monitorId = + monitorDir.connect( + 'changed', + () => { + this.updateEntries(); + } + ); + + this._entriesDirMonitors.push([monitorDir, monitorId]); + + let submenu; + let subentriesList; + + subentriesList = + // eslint-disable-next-line no-await-in-loop + await this._processDirectory( + file[1], + cancellable, + localRecursionLevel + ); + + if (subentriesList === null) + return null; + + [file[2], submenu] = subentriesList; + + if (file[2].length !== 0) + outputEntries.push(file); + + if (submenu) { + const menuItem = + Gio.MenuItem.new_submenu(`${menuItemName}`, submenu); + + menu.append_item(menuItem); + menuhasentries = true; + } + } + + if (!menuhasentries) + menu = null; + + return [outputEntries, menu]; + } + + async _readDirectory(directory, cancellable) { + const childrenInfo = + await this.FileUtils.enumerateDir( + directory, + cancellable, + GLib.PRIORITY_DEFAULT, + this.Enums.DEFAULT_ATTRIBUTES + ); + + const fileList = []; + + childrenInfo.forEach(info => { + const menuitemName = this._selectionFilter(info); + + if (!menuitemName) + return; + + if (fileList.length > MAX_MENUENTRIES) { + console.log('Truncating menu entries templates/scripts submenu'); + return; + } + + const isDir = info.get_file_type() === Gio.FileType.DIRECTORY; + + const isSymlink = + info + .get_attribute_boolean(Gio.FILE_ATTRIBUTE_STANDARD_IS_SYMLINK); + + if (isDir && isSymlink) { + console.warn( + 'Folder Symlink in monitored templates/scripts folder...\n', + 'This can lead to unlimited recursion.' + ); + } + + const child = directory.get_child(info.get_name()); + + fileList.push([ + menuitemName, + isDir ? child : child.get_path(), + isDir ? [] : null, + ]); + }); + + fileList.sort( + (a, b) => { + return a[0] + .localeCompare( + b[0], + { + sensitivity: 'accent', + numeric: 'true', + localeMatcher: 'lookup', + } + ); + } + ); + + return fileList; + } + + getGioMenu() { + return this.gioMenu; + } +}; diff --git a/ding/app/thumbnails.js b/ding/app/thumbnails.js new file mode 100644 index 0000000..238acab --- /dev/null +++ b/ding/app/thumbnails.js @@ -0,0 +1,494 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Copyright (C) 2022, 2024 Sundeep Mediratta (smedius@gmail.com) port to work with + * gnome desktop 4 + * + * Code cherry picked from Marco Trevisan for async methods to generate icons. + * + * Copyright (C) 2021 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 . + */ +import {Cairo, Gdk, GdkPixbuf, GLib, Gio, GnomeDesktop, Poppler} from + '../dependencies/gi.js'; + +export {ThumbnailLoader}; + +Gio._promisify(GnomeDesktop.DesktopThumbnailFactory.prototype, + 'generate_thumbnail_async', + 'generate_thumbnail_finish'); +Gio._promisify(GnomeDesktop.DesktopThumbnailFactory.prototype, + 'create_failed_thumbnail_async', + 'create_failed_thumbnail_finish'); +Gio._promisify(GnomeDesktop.DesktopThumbnailFactory.prototype, + 'save_thumbnail_async', + 'save_thumbnail_finish'); + +const PIXBUF_CONTENT_TYPES = new Set(); + +GdkPixbuf.Pixbuf +.get_formats().forEach(f => PIXBUF_CONTENT_TYPES.add(...f.get_mime_types())); + +// Max file size for which to attempt thumbnail generation with local code +const MAX_FILE_SIZE = 5242880; + +// Width and height of icons generated by local code +const WIDTH = 130; +const HEIGHT = 130; + +const ThumbnailLoader = class { + constructor(FileUtils) { + this.FileUtils = FileUtils; + this._timeoutValue = 5000; + + this._thumbnailFactory = + GnomeDesktop.DesktopThumbnailFactory + .new(GnomeDesktop.DesktopThumbnailSize.LARGE); + + this.standardThumbnailsFolder = + GLib.build_filenamev([GLib.get_home_dir(), '.cache/thumbnails']); + + this.standardThumbnailSubFolders = ['large', 'normal']; + + this.gimpSnapThumbnailsFolder = + GLib.build_filenamev( + [ + GLib.get_home_dir(), + 'snap/common/gimp', + '.cache/thumbnails', + ] + ); + + this.gimpFlatPackThumbnailsFolder = + GLib.build_filenamev( + [ + GLib.get_home_dir(), + '.var/app/org.gimp.GIMP', + 'cache/thumbnails', + ] + ); + + this.md5Hasher = GLib.Checksum.new(GLib.ChecksumType.MD5); + this.textCoder = new TextEncoder(); + } + + async _generateThumbnail(file, cancellable) { + if (!await this.FileUtils.queryExists(file.file)) + return null; + + if (this._thumbnailFactory + .has_valid_failed_thumbnail(file.uri, file.modifiedTime) + ) + return null; + + if (!await this._createThumbnailAsync(file, cancellable)) { + await this._createFailedThumbnailAsync(file, cancellable); + return null; + } + + if (cancellable.is_cancelled()) + return null; + + return this._thumbnailFactory.lookup(file.uri, file.modifiedTime); + } + + async _createThumbnailAsync(file, cancellable) { + let gotTimeout = false; + + let timeoutId = + GLib.timeout_add(GLib.PRIORITY_DEFAULT, this._timeoutValue, () => { + console.log( + `Timeout while generating thumbnail for ${file.displayName}` + ); + + timeoutId = 0; + gotTimeout = true; + cancellable.cancel(); + + return GLib.SOURCE_REMOVE; + }); + + try { + const thumbnailPixbuf = + await this._thumbnailFactory + .generate_thumbnail_async( + file.uri, + file.attributeContentType, + cancellable + ); + + await this._thumbnailFactory + .save_thumbnail_async( + thumbnailPixbuf, + file.uri, + file.modifiedTime, + cancellable + ) + .catch(e => { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) + console.error(`Error saving thumbnail ${e}`); + }); + + return true; + } catch (e) { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { + console.error(e, + 'Error creating thumbnail with thumbnailFactory: ' + + `${e.message}` + ); + } + + return await this._createFallBackThumbnailAsync( + file, + gotTimeout && cancellable.is_cancelled() ? null : cancellable + ); + } finally { + if (timeoutId) + GLib.source_remove(timeoutId); + } + } + + async _createFallBackThumbnailAsync(file, cancellable) { + const thumbnailPixbuf = this._createThumbnailLocally(file, cancellable); + + if (thumbnailPixbuf !== null) { + await this._thumbnailFactory + .save_thumbnail_async( + thumbnailPixbuf, + file.uri, + file.modifiedTime, + cancellable + ) + .catch(e => { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) + console.error(`Error saving thumbnail ${e}`); + }); + + return true; + } + + return false; + } + + async _createFailedThumbnailAsync(file, cancellable) { + try { + await this._thumbnailFactory.create_failed_thumbnail_async( + file.uri, + file.modifiedTime, + cancellable + ); + } catch (e) { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { + console.error(e, + `Error while creating failed thumbnail: ${e.message}` + ); + } + } + } + + _createThumbnailLocally(file, cancellable) { + let thumbnailPixbuf = null; + + if (file.fileSize < MAX_FILE_SIZE) { + const contentType = file.attributeContentType; + + try { + if (PIXBUF_CONTENT_TYPES.has(contentType)) + thumbnailPixbuf = this._loadImageAsIcon(file, cancellable); + else if ( + contentType === 'application/pdf' || + contentType === 'x-pdf' + ) + thumbnailPixbuf = this._loadPdfAsIcon(file, cancellable); + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) + throw e; + + console.error(e, + `Error while generating icon image: ${e.message}` + ); + } + } + + return thumbnailPixbuf; + } + + _loadPdfAsIcon(file, cancellable) { + let thumbnailPixbuf = null; + + try { + // Assume no password + const password = null; + + const popplerDocument = + Poppler.Document.new_from_gfile( + file.file, + password, + cancellable + ); + + if (!popplerDocument) + return thumbnailPixbuf; + + const firstPage = popplerDocument.get_page(0); + + if (!firstPage) + return thumbnailPixbuf; + + const [pagewidth, pageheight] = firstPage.get_size(); + + let width = WIDTH; + let height = HEIGHT; + const aspectRatio = pagewidth / pageheight; + + if ((width / height) > aspectRatio) + width = height * aspectRatio; + else + height = width / aspectRatio; + + const hScale = width / pagewidth; + const vScale = height / pageheight; + + const imageSurface = + new Cairo.ImageSurface( + Cairo.Format.ARGB32, + pagewidth, + pageheight + ); + + const ctx = new Cairo.Context(imageSurface); + + this._drawPdfOn(ctx, firstPage); + + const scaledSurface = + new Cairo.ImageSurface(Cairo.Format.ARGB32, width, height); + + const scaledCtx = new Cairo.Context(scaledSurface); + scaledCtx.scale(hScale, vScale); + + scaledCtx.setSourceSurface(imageSurface, 0, 0); + scaledCtx.paint(); + + thumbnailPixbuf = + Gdk.pixbuf_get_from_surface(scaledSurface, 0, 0, width, height); + + ctx.$dispose(); + scaledCtx.$dispose(); + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) + throw e; + + if (!e.matches(Poppler.Error, Poppler.Error.ENCRYPTED)) { + console.error(e, + `Error creating pdf thumbnail pixbuf ${file.uri}` + ); + } + } + + return thumbnailPixbuf; + } + + _drawPdfOn(ctx, firstPage) { + ctx.setSourceRGBA(1, 1, 1, 1); + ctx.save(); + ctx.paint(); + ctx.restore(); + firstPage.render(ctx); + ctx.save(); + } + + _loadImageAsIcon(file) { + let thumbnailPixbuf = null; + + try { + const pixbuf = GdkPixbuf.Pixbuf.new_from_file(file.path); + let width = WIDTH; + let height = HEIGHT; + const aspectRatio = pixbuf.width / pixbuf.height; + + if ((width / height) > aspectRatio) + width = height * aspectRatio; + else + height = width / aspectRatio; + + thumbnailPixbuf = + pixbuf.scale_simple( + width, + height, + GdkPixbuf.InterpType.BILINEAR + ); + + return thumbnailPixbuf; + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) + throw e; + + console.error(e, + `Error creating image thumbnail pixbuf ${file.uri}` + ); + } + + return thumbnailPixbuf; + } + + /* + * ExtraCode to find thumbnail in the thumbnail Folder + * Was Used to find GIMP thumbnails, however ThumbnailFactoryNormal + * can now find it. + * + * However to do that you have to start two ThumbnailFactories, + * this is simpler and lighter, can be used to search arbitrary folders + * for thumbnails in Futre if necessary, not just Subfolders + */ + + _findThumbnail(file, basePath, subFolders = null, cancellable) { + if (!basePath) + return null; + + let md5FileUriHash = this._getMD5Hash(file.uri); + + if (!md5FileUriHash) + return null; + + let thumbnailMD5Name = `${md5FileUriHash}.png`; + let thumbnailFilePath = null; + let thumbnailFileSearchPath = null; + + if (subFolders) { + for (const subfolder of subFolders) { + thumbnailFileSearchPath = + GLib + .build_filenamev([basePath, subfolder, thumbnailMD5Name]); + + if ( + Gio.File.new_for_path(thumbnailFileSearchPath) + .query_exists(cancellable) + ) { + thumbnailFilePath = thumbnailFileSearchPath; + + break; + } + } + return thumbnailFilePath; + } + + thumbnailFileSearchPath = + GLib.build_filenamev([basePath, thumbnailMD5Name]); + + if ( + Gio.File.new_for_path(thumbnailFileSearchPath) + .query_exists(cancellable) + ) + thumbnailFilePath = thumbnailFileSearchPath; + + return thumbnailFilePath; + } + + _getMD5Hash(string) { + let hashString = null; + this.md5Hasher.update(this.textCoder.encode(string)); + hashString = this.md5Hasher.get_string(); + this.md5Hasher.reset(); + return hashString; + } + + canThumbnail(file) { + return this._thumbnailFactory + .can_thumbnail( + file.uri, + file.attributeContentType, + file.modifiedTime + ); + } + + _lookupThumbnail(file, cancellable) { + let thumbnail = null; + + // do searches for only special cases to conserve resources // + if (file.attributeContentType === 'image/x-xcf') { + // lets do a local search in thumbnails dir, look only in normal + // subfolder as we already searched large + thumbnail = + this._findThumbnail( + file, + this.standardThumbnailsFolder, + ['normal'], + cancellable + ); + + if (thumbnail) + return thumbnail; + + // we can now search far and wide in snaps and flatpacks if we want. + thumbnail = + this._findThumbnail( + file, + this.gimpSnapThumbnailsFolder, + this.standardThumbnailSubFolders, + cancellable + ); + + if (!thumbnail) { + thumbnail = + this._findThumbnail( + file, + this.gimpFlatPackThumbnailsFolder, + this.standardThumbnailSubFolders, + cancellable + ); + } + + return thumbnail; + } + + return thumbnail; + } + + hasThumbnail(file, cancellable) { + let thumbnail = null; + + thumbnail = this._thumbnailFactory.lookup(file.uri, file.modifiedTime); + + if (thumbnail) + return thumbnail; + + thumbnail = this._lookupThumbnail(file, cancellable); + + return thumbnail; + } + + async getThumbnail(file, cancellable) { + try { + let thumbnail = this.hasThumbnail(file, cancellable); + + if (!thumbnail && this.canThumbnail(file)) + thumbnail = await this._generateThumbnail(file, cancellable); + + if ( + !thumbnail && + await this._createFallBackThumbnailAsync(file, cancellable) + ) { + thumbnail = + this._thumbnailFactory.lookup(file.uri, file.modifiedTime); + } + + return thumbnail; + } catch (error) { + console.log( + `Error when asking for a thumbnail for ${file.displayName}:` + + ` ${error.message}\n${error.stack}`); + } + + return null; + } +}; diff --git a/ding/app/utils/dbusInterfaces.js b/ding/app/utils/dbusInterfaces.js new file mode 100644 index 0000000..cd3340d --- /dev/null +++ b/ding/app/utils/dbusInterfaces.js @@ -0,0 +1,243 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Copyright (C) 2022 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 . + */ +export {DBusInterfaces}; + +const DBusInterfaces = { + // net.haddes.SwitcherooControl + 'net.hadess.SwitcherooControl': ` + + + + + + `, + + // org.freedesktop.FileManager1 + 'org.freedesktop.FileManager1': ` + + + + + + + + + + + `, + + // org.gnome.ArchiveManager1 + 'org.gnome.ArchiveManager1': ` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + `, + + // org.gnome.Nautilus.FileOperations2 + 'org.gnome.Nautilus.FileOperations2': ` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + `, + + // org.gnome.NautilusPreviewer + 'org.gnome.NautilusPreviewer': ` + + + + + + + + `, + + // org.gtk.vfs.Metadata + 'org.gtk.vfs.Metadata': ` + + + + + + + + + + + + + + + + + + + + + + + + + + `, + + // org.freedesktop.DBus.Introspectable + 'org.freedesktop.DBus.Introspectable': ` + + + + + + `, + + // org.freedesktop.Notifications + 'org.freedesktop.Notifications': ` + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + `, + + // com.desktop.dingextension/service + 'com.desktop.dingextension.service': ` + + + + + + + + + + + + + + + `, +}; diff --git a/ding/app/utils/dbusUtils.js b/ding/app/utils/dbusUtils.js new file mode 100644 index 0000000..27ee2df --- /dev/null +++ b/ding/app/utils/dbusUtils.js @@ -0,0 +1,1638 @@ +/* eslint-disable no-template-curly-in-string */ + +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Copyright (C) 2019-2022 Sergio Costas (rastersoft@gmail.com) + * Based on code original (C) 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, 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 . + */ +import {Gdk, Gio, GLib, GdkX11, GdkWayland} from '../../dependencies/gi.js'; +import {DBusInterfaces, GsConnect} from '../../dependencies/localFiles.js'; +import {_} from '../../dependencies/gettext.js'; + +const Signals = imports.signals; + +export {DBusUtils}; +class ProxyManager { + /* + This class manages a DBus object through a DBusProxy. Any access to the + proxy when the object isn't available results in a notification specifying + that an specific program is needed to run that option. + + The proxy itself is accessed through the 'proxy' property (read-only). + Any access to it will check the availability and show the notification if + it isn't available. To get access to it without triggering this, it is + possible to use the 'proxyNoCheck' property. + + Whether the object is or not available can be checked with the + 'isAvailable' property. Also, every time the availability changes, + the signal 'changed-status' is emitted. + */ + constructor( + dbusManager, + serviceName, + objectName, + interfaceName, + inSystemBus, + programNeeded, + makeAsync = true, + nocomplaint = false + ) { + this._dbusManager = dbusManager; + this._serviceName = serviceName; + this._objectName = objectName; + this._interfaceName = interfaceName; + this._inSystemBus = inSystemBus; + this._nocomplaint = nocomplaint; + this._signals = {}; + this._signalsIDs = {}; + this._connectSignals = {}; + this._connectSignalsIDs = {}; + + if (typeof programNeeded === 'string') { + // if 'programNeeded' is a string, create a generic message + // for the notification. + this._programNeeded = [ + _('"${programName}" is not available') + .replace('${programName}', programNeeded), + _( + 'Install "${programName}" to enable ' + + 'Desktop Icons to perform these actions.' + ) + .replace('${programName}', programNeeded), + ]; + } else { + // instead, if it's not, it is presumed to be an array with two + // sentences, one for the notification title and another for + // the main text. + this._programNeeded = programNeeded; + } + + this._timeout = 0; + this._available = false; + this._proxy = null; + + dbusManager.connect( + inSystemBus + ? 'changed-availability-system' + : 'changed-availability-local', + () => { + this._makeProxy(makeAsync); + } + ); + + this._makeProxy(makeAsync); + } + + async _makeProxy(makeAsync) { + const newAvailability = + this._dbusManager + .checkIsAvailable(this._serviceName, this._inSystemBus); + + if (newAvailability !== this._available) { + if (newAvailability) { + if (makeAsync) + await this.makeNewProxyAsync().catch(e => console.error(e)); + else + this.makeNewProxySync(); + } else { + this._available = false; + this._proxy = null; + } + + this.emit('changed-status', this._available); + } + } + + connectSignalToProxy(signal, cb) { + this._connectSignals[signal] = cb; + + if (this._proxy) { + this._connectSignalsIDs[signal] = + this._proxy.connectSignal(signal, cb); + } + } + + connectToProxy(signal, cb) { + this._signals[signal] = cb; + + if (this._proxy) + this._signalsIDs[signal] = this._proxy.connect(signal, cb); + } + + disconnectFromProxy(signal) { + if (signal in this._signalsIDs) { + if (this._proxy) + this._proxy.disconnect(this._signalsIDs[signal]); + + delete this._signalsIDs[signal]; + delete this._signals[signal]; + } + } + + disconnectSignalFromProxy(signal) { + if (signal in this._connectSignalsIDs) { + if (this._proxy) + this._proxy.disconnectSignal(this._connectSignalsIDs[signal]); + + delete this._connectSignalsIDs[signal]; + delete this._connectSignals[signal]; + } + } + + makeNewProxySync() { + const interfaceXML = + this._dbusManager + .getInterface( + this._serviceName, + this._objectName, + this._interfaceName, + this._inSystemBus, + false + ); + + if (interfaceXML) { + const targetproxy = + new Gio.DBusProxy.makeProxyWrapper(interfaceXML); + + try { + this._proxy = new targetproxy( + this._inSystemBus ? Gio.DBus.system : Gio.DBus.session, + this._serviceName, + this._objectName, + null + ); + + for (let signal in this._signals) { + this._signalsIDs[signal] = + this._proxy.connect(signal, this._signals[signal]); + } + + for (let signal in this._connectSignals) { + this._connectSignalsIDs[signal] = + this._proxy.connectSignal( + signal, + this._connectSignals[signal] + ); + } + + this._available = true; + + return true; + } catch (e) { + this._available = false; + this._proxy = null; + this._signalIDs = {}; + this._connectSignalsIDs = {}; + + console.log( + `Error creating proxy, ${this._programNeeded[0]}:` + + ` ${e.message}\n${e.stack}` + ); + + return false; + } + } else { + this._available = false; + this._proxy = null; + this._signalIDs = {}; + this._connectSignalsIDs = {}; + + return false; + } + } + + makeNewProxyAsync(cancellable = null, flags = Gio.DBusProxyFlags.NONE) { + return new Promise(resolve => { + const interfaceXML = + this._dbusManager + .getInterface( + this._serviceName, + this._objectName, + this._interfaceName, + this._inSystemBus, + false + ); + + if (interfaceXML) { + const targetproxy = + new Gio.DBusProxy.makeProxyWrapper(interfaceXML); + + try { + new targetproxy( + this._inSystemBus ? Gio.DBus.system : Gio.DBus.session, + this._serviceName, + this._objectName, + (proxy, error) => { + if (error === null) { + for (let signal in this._signals) { + this._signalsIDs[signal] = + proxy.connect( + signal, + this._signals[signal] + ); + } + + for (let signal in this._connectSignals) { + this._connectSignalsIDs[signal] = + proxy.connectSignal( + signal, + this._connectSignals[signal] + ); + } + + this._available = true; + this._proxy = proxy; + + resolve(true); + } else { + this._available = false; + this._proxy = null; + + resolve(false); + } + }, + cancellable, + flags + ); + } catch (e) { + this._available = false; + this._proxy = null; + console.log( + `Error creating proxy, ${this._programNeeded[0]}:` + + ` ${e.message}\n${e.stack}` + ); + + resolve(false); + } + } else { + this._available = false; + this._proxy = null; + resolve(false); + } + }); + } + + notify(message1, message2) { + this._dbusManager.doNotify(message1, message2); + } + + notifyUnavailable() { + if (!this._programNeeded) + return; + + console.log(this._programNeeded[0]); + console.log(this._programNeeded[1]); + + this._dbusManager + .doNotify(this._programNeeded[0], this._programNeeded[1]); + } + + get isAvailable() { + return !!this._proxy; + } + + get proxyNoCheck() { + return this._proxy; + } + + get proxy() { + if (!this._available || !this._proxy) { + if (this._nocomplaint) + return false; + + if (this._timeout === 0) { + this.notifyUnavailable(); + this._timeout = GLib.timeout_add( + GLib.PRIORITY_DEFAULT, + 1000, + () => { + this._timeout = 0; + return false; + } + ); + } + } + + return this._proxy; + } +} +Signals.addSignalMethods(ProxyManager.prototype); + + +class DBusManager { + /* + This class manages all the DBus operations. A ProxyManager() class can + subscribe to this to be notified whenever a change in the bus has occurred + (like a server has been added or removed). It also can ask + for a DBus interface, either getting it from the dbusInterfaces.js file + or using DBus Introspection (which allows to get the currently available + interface and, that way, know if an object implements an specific + method, property or signal). + + ProxyManager() classes subscribe to the 'changed-availability-system' + or 'changed-availability-local' signals, which are emitted every time a + change in the bus or in the configuration files happen. Then, it can use + checkIsAvailable() to determine if the desired service is available + in the system or not. + */ + constructor(mainApp) { + this._mainApp = mainApp; + this._availableInSystemBus = []; + this._availableInLocalBus = []; + this._pendingLocalSignal = false; + this._pendingSystemSignal = false; + this._signalTimerID = 0; + + let interfaceXML = + this.getInterface( + 'org.freedesktop.DBus', + '/org/freedesktop/DBus', + 'org.freedesktop.DBus', + true, // system bus + true + ); // use DBus Introspection + + this._dbusSystemProxy = + new Gio.DBusProxy.makeProxyWrapper(interfaceXML)( + Gio.DBus.system, + 'org.freedesktop.DBus', + '/org/freedesktop/DBus', + null + ); + + let ASCinSystemBus = + interfaceXML.includes('ActivatableServicesChanged'); + + // Don't presume that both system and local have the same + // interface (just in case) + interfaceXML = this.getInterface( + 'org.freedesktop.DBus', + '/org/freedesktop/DBus', + 'org.freedesktop.DBus', + false, // local bus + true); // use DBus Introspection + + this._dbusLocalProxy = new Gio.DBusProxy.makeProxyWrapper(interfaceXML)( + Gio.DBus.session, + 'org.freedesktop.DBus', + '/org/freedesktop/DBus', + null + ); + + let ASCinLocalBus = interfaceXML.includes('ActivatableServicesChanged'); + + this._updateAllAvailabilities(); + + this._dbusLocalProxy.connectSignal('NameOwnerChanged', () => { + this._emitChangedSignal(true); + }); + + if (ASCinLocalBus) { + this._dbusLocalProxy.connectSignal( + 'ActivatableServicesChanged', + () => { + this._emitChangedSignal(true); + } + ); + } + this._dbusSystemProxy.connectSignal('NameOwnerChanged', () => { + this._emitChangedSignal(false); + }); + + if (ASCinSystemBus) { + this._dbusSystemProxy.connectSignal( + 'ActivatableServicesChanged', + () => { + this._emitChangedSignal(false); + } + ); + } + + interfaceXML = this.getInterface( + 'org.freedesktop.Notifications', + '/org/freedesktop/Notifications', + 'org.freedesktop.Notifications', + false, // local bus + false); // get interface from local code + + this._notifyProxy = + new Gio.DBusProxy.makeProxyWrapper(interfaceXML)( + Gio.DBus.session, + 'org.freedesktop.Notifications', + '/org/freedesktop/Notifications', + null + ); + } + + _emitChangedSignal(localDBus) { + if (localDBus) + this._pendingLocalSignal = true; + else + this._pendingSystemSignal = true; + + if (this._signalTimerID) + GLib.source_remove(this._signalTimerID); + + this._signalTimerID = + GLib.timeout_add( + GLib.PRIORITY_DEFAULT, + 1000, + () => { + this._signalTimerID = 0; + this._updateAllAvailabilities(); + + if (this._pendingLocalSignal) + this.emit('changed-availability-local'); + + if (this._pendingSystemSignal) + this.emit('changed-availability-system'); + + this._pendingLocalSignal = false; + this._pendingSystemSignal = false; + + return false; + } + ); + } + + checkIsAvailable(serviceName, inSystemBus) { + if (inSystemBus) + return this._availableInSystemBus.includes(serviceName); + else + return this._availableInLocalBus.includes(serviceName); + } + + _updateAllAvailabilities() { + this._availableInLocalBus = + this._updateAvailability(this._dbusLocalProxy); + + this._availableInSystemBus = + this._updateAvailability(this._dbusSystemProxy); + } + + _updateAvailability(proxy) { + // We read both the well-known names actually running and those + // available as activatables, and generate a single list with both. + // Thus a service will be "enabled" if it is running + // or if it is activatable. + let availableNames = []; + let names = proxy.ListNamesSync(); + + for (let n of names[0]) { + if (n.startsWith(':')) + continue; + + if (!(n in availableNames)) + availableNames.push(n); + } + + let names2 = proxy.ListActivatableNamesSync(); + + for (let n of names2[0]) { + if (n.startsWith(':')) + continue; + + if (!(n in availableNames)) + availableNames.push(n); + } + + return availableNames; + } + + _getNextTag() { + this._xmlIndex++; + let pos = this._xmlData.indexOf('<', this._xmlIndex); + + if (pos === -1) + return null; + + let pos2 = this._xmlData.indexOf('>', pos); + + if (pos2 === -1) + return null; + + this._xmlIndex = pos; + + return this._xmlData.substring(pos + 1, pos2).trim(); + } + + /* + Extracts the XML definition for an interface from the raw data + returned by DBus Introspection. This is needed because DBus Introspection + returns a single XML file with all the interfaces supported by an object, + while DBusProxyWrapper requires an XML with only the desired interface. + */ + _parseXML(data, interfaceName) { + this._xmlIndex = -1; + this._xmlData = data; + let tag; + + while (true) { + tag = this._getNextTag(); + + if (tag === null) + return null; + + if (!tag.startsWith('interface ')) + continue; + + if (tag.includes(interfaceName)) + break; + } + + const start = this._xmlIndex; + + while (true) { + tag = this._getNextTag(); + + if (tag === null) + return null; + + if (!tag.startsWith('/interface')) + continue; + + break; + } + + const end = 1 + data.indexOf('>', this._xmlIndex); + + return ( + ` + ${data.substring(start, end)} + ` + ); + } + + getInterface( + serviceName, + objectName, + interfaceName, + inSystemBus, + forceIntrospection + ) { + if ((interfaceName in DBusInterfaces.DBusInterfaces) && + !forceIntrospection + ) { + return DBusInterfaces.DBusInterfaces[interfaceName]; + } else { + let data = + this.getIntrospectionData(serviceName, objectName, inSystemBus); + + if (data === null) + return null; + else + return this._parseXML(data, interfaceName); + } + } + + getIntrospectionData(serviceName, objectName, inSystemBus) { + let data = null; + + try { + let wraper = + new Gio.DBusProxy + .makeProxyWrapper( + DBusInterfaces + .DBusInterfaces['org.freedesktop.DBus.Introspectable'] + )( + inSystemBus ? Gio.DBus.system : Gio.DBus.session, + serviceName, + objectName, + null + ); + + data = wraper.IntrospectSync()[0]; + } catch (e) { + let message = e.message; + + if (!message.includes('org.gnome.Shell.Extensions.GSConnect')) { + console.log( + 'Error getting introspection data over Dbus: ' + + `${e.message}\n${e.stack}` + ); + } + + return null; + } + + if (data === null) + return null; + + if (!data.includes('interface')) + return null; // if it doesn't exist, return null + + return data; + } + + doNotify(header, text) { + /* + The freedesktop specificaton specifies these common icons by name + be available in compatible themes, including displayImange and + appIcon + */ + const displayImage = + 'file:///usr/share/icons/Adwaita/scalable/devices/computer.svg'; + + const appID = this._mainApp.get_application_id(); + + const notifyHint = { + 'image-path': new GLib.Variant('s', displayImage), + 'desktop-entry': new GLib.Variant('s', appID), + }; + + const appName = 'Desktop Icons'; + const notifictionID = 0; + // from freeDesktop icon theme specification which should be available + // for this interface + const appIcon = 'computer'; + const actions = []; + const displayTime = 1000; // 1 second + + this._notifyProxy.NotifyRemote( + appName, + notifictionID, + appIcon, + header, + text, + actions, + notifyHint, + displayTime, + () => {} + ); + } +} +Signals.addSignalMethods(DBusManager.prototype); + + +class DbusOperationsManager { + constructor( + FreeDesktopFileManager, + GnomeNautilusPreview, + GnomeArchiveManager + ) { + this.freeDesktopFileManager = FreeDesktopFileManager; + this.gnomeNautilusPreviewManager = GnomeNautilusPreview; + this.gnomeArchiveManager = GnomeArchiveManager; + + this._monitorExtractionSupportedTypes(); + } + + _monitorExtractionSupportedTypes() { + this.decompressibleTypes = []; + + this.archiveConnectionId = + this.gnomeArchiveManager.connect( + 'changed-status', + (_actor, available) => { + if (available) { + // wait a second to ensure that everything has settled + GLib.timeout_add(GLib.PRIORITY_DEFAULT, 1000, () => { + try { + this._getExtractionSupportedTypes(); + } catch (e) {} + return false; + }); + } else { + this.decompressibleTypes = []; + } + } + ); + + if (this.gnomeArchiveManager.isAvailable) + this._getExtractionSupportedTypes(); + } + + _getExtractionSupportedTypes() { + this.decompressibleTypes = []; + const archiveProxy = this.gnomeArchiveManager.proxy; + + try { + archiveProxy?.GetSupportedTypesRemote( + 'extract', + (result, error) => { + if (error) { + console.log( + 'Can not get the extractable types:' + + ` ${error.message}.` + + `\nEnsure that File-Roller is installed.\n${error}.` + ); + return; + } + for (let key of result.values()) { + for (let type of key.values()) { + this.decompressibleTypes + .push(Object.values(type)[0]); + } + } + } + ); + } catch (e) { + console.log(e.message, e.stack); + } + } + + _sendNoProxyError(callback) { + if (callback) { + GLib.idle_add(GLib.PRIORITY_LOW, () => { + callback(null, 'noProxy'); + return false; + }); + } + } + + ShowItemPropertiesRemote(selection, timestamp, callback = null) { + if (!this.freeDesktopFileManager.proxy) { + this._sendNoProxyError(callback); + return; + } + + this.freeDesktopFileManager.proxy.ShowItemPropertiesRemote( + selection, + this._getStartupId(selection, timestamp), + (result, error) => { + if (callback) + callback(result, error); + + if (error) + console.log(`Error showing properties: ${error.message}`); + } + ); + } + + ShowItemsRemote(showInFilesList, timestamp, callback = null) { + if (!this.freeDesktopFileManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + this.freeDesktopFileManager.proxy.ShowItemsRemote( + showInFilesList, + this._getStartupId(showInFilesList, timestamp), + (result, error) => { + if (callback) + callback(result, error); + + if (error) { + console.log( + `Error showing file on desktop: ${error.message}` + ); + } + } + ); + } + + ShowFileRemote(uri, integer, boolean, callback = null) { + if (!this.gnomeNautilusPreviewManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + this.gnomeNautilusPreviewManager.proxy.ShowFileRemote( + uri, + integer, + boolean, + (result, error) => { + if (callback) + callback(result, error); + + if (error) + console.log(`Error previewing file: ${error.message}`); + }); + } + + ExtractRemote(extractFileItem, folder, boolean, callback = null) { + if (!this.gnomeArchiveManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + this.gnomeArchiveManager.proxy.ExtractRemote( + extractFileItem, + folder, + true, + (result, error) => { + if (callback) + callback(result, error); + + if (error) + console.log(`Error extracting files: ${error.message}`); + }); + } + + CompressRemote(compressFileItems, folder, boolean, callback = null) { + if (!this.gnomeArchiveManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + this.gnomeArchiveManager.proxy.CompressRemote( + compressFileItems, + folder, + boolean, + (result, error) => { + if (callback) + callback(result, error); + + if (error) + console.log(`Error compressing files: ${error.message}`); + } + ); + } + + _getStartupId(fileUris, timestamp) { + if (!timestamp) + return ''; + + const context = Gdk.Screen.get_default().get_app_launch_context(); + context.set_timestamp(timestamp); + + if (!this._fileManager) { + this._fileManager = + Gio.File.new_for_path('/') + .query_default_handler(null); + } + + return ( + context + .get_startup_notify_id( + this._fileManager, + fileUris.map(uri => Gio.File.new_for_uri(uri)) + ) + ); + } +} + + +class RemoteFileOperationsManager extends DbusOperationsManager { + constructor( + fileOperationsManager, + FreeDesktopFileManager, + GnomeNautilusPreview, + GnomeArchiveManager, + mainApp + ) { + super( + FreeDesktopFileManager, + GnomeNautilusPreview, + GnomeArchiveManager + ); + + this.mainApp = mainApp; + this.fileOperationsManager = fileOperationsManager; + this._createPlatformData(); + this._eventsStack = []; + } + + pushEvent(params = {}) { + const parentWindow = + params.parentWindow + ? params.parentWindow + : this.mainApp.get_active_window(); + + const currentEventTime = + params.timestamp + ? params.timestamp + : Gdk.CURRENT_TIME; + + this._eventsStack + .unshift({ + parentWindow, + 'timestamp': currentEventTime, + }); + } + + _createPlatformData() { + this.getWaylandParentHandle = + this.fileOperationsManager.getWaylandParentHandle = topLevel => { + return new Promise(resolve => { + try { + topLevel.export_handle((actor, handle) => { + if (handle) + resolve(handle); + else + resolve(false); + }); + } catch (e) { + console.log( + `Failed with "${e.message}" while getting` + + ' wayland parent handle, WaylandHandle' + ); + + resolve(false); + } + }); + }; + + this.platformData = + this.fileOperationsManager.platformData = async () => { + const eventParameters = + this._eventsStack.pop() || + { + 'parentWindow': this.mainApp.get_active_window(), + 'timestamp': Gdk.CURRENT_TIME, + }; + + const parentWindow = eventParameters.parentWindow; + const topLevel = parentWindow.get_surface(); + const windowPosition = 'center'; + const timestamp = eventParameters.timestamp; + + let parentHandle = ''; + let freePlatformData = () => {}; + + if (parentWindow) { + try { + if (topLevel instanceof GdkWayland.WaylandToplevel) { + let handle = + await this.getWaylandParentHandle(topLevel); + + if (handle) + parentHandle = `wayland:${handle}`; + + + freePlatformData = () => { + if (topLevel instanceof GdkWayland.WaylandToplevel) + topLevel.unexport_handle(); + }; + } + + if (topLevel instanceof GdkX11.X11Surface) { + const xid = + GdkX11.X11Window.prototype.get_xid + .call(topLevel); + + parentHandle = `x11:${xid}`; + } + } catch (e) { + console.error(e, + 'Impossible to determine the parent window' + ); + } + } + + return { + 'data': { + 'parent-handle': new GLib.Variant('s', parentHandle), + 'timestamp': new GLib.Variant('u', timestamp), + 'window-position': new GLib.Variant('s', windowPosition), + }, + freePlatformData, + }; + }; + } + + async MoveURIsRemote(fileList, uri, callback) { + try { + if (!this.fileOperationsManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + let platformData = await this.platformData(); + + this.fileOperationsManager.proxy.MoveURIsRemote( + fileList, + uri, + platformData.data, + (result, error) => { + platformData.freePlatformData(); + if (callback) + callback(result, error); + + if (error) + console.log(`Error moving files: ${error.message}`); + } + ); + } catch (e) { + console.error(e); + } + } + + async CopyURIsRemote(fileList, uri, callback = null) { + try { + if (!this.fileOperationsManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + let platformData = await this.platformData(); + + this.fileOperationsManager.proxy.CopyURIsRemote( + fileList, + uri, + platformData.data, + (result, error) => { + platformData.freePlatformData(); + if (callback) + callback(result, error); + + if (error) + console.log(`Error copying files: ${error.message}`); + } + ); + } catch (e) { + console.error(e); + } + } + + async RenameURIRemote(fileList, uri, callback = null) { + try { + if (!this.fileOperationsManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + let platformData = await this.platformData(); + + this.fileOperationsManager.proxy.RenameURIRemote( + fileList, + uri, + platformData.data, + (result, error) => { + platformData.freePlatformData(); + if (callback) + callback(result, error); + + if (error) + console.log(`Error copying files: ${error.message}`); + } + ); + } catch (e) { + console.error(e); + } + } + + async TrashURIsRemote(fileList, callback = null) { + try { + if (!this.fileOperationsManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + let platformData = await this.platformData(); + + this.fileOperationsManager.proxy.TrashURIsRemote( + fileList, + platformData.data, + (result, error) => { + platformData.freePlatformData(); + if (callback) + callback(result, error); + + if (error) + console.log(`Error Trashing files: ${error.message}`); + } + ); + } catch (e) { + console.error(e); + } + } + + async DeleteURIsRemote(fileList, callback = null) { + try { + if (!this.fileOperationsManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + let platformData = await this.platformData(); + + this.fileOperationsManager.proxy.DeleteURIsRemote( + fileList, + platformData.data, + (source, error) => { + platformData.freePlatformData(); + if (callback) + callback(source, error); + + if (error) { + console.log( + 'Error deleting files on the desktop:' + + ` ${error.message}` + ); + } + } + ); + } catch (e) { + console.error(e); + } + } + + async EmptyTrashRemote(askConfirmation, callback = null) { + try { + if (!this.fileOperationsManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + let platformData = await this.platformData(); + + this.fileOperationsManager.proxy.EmptyTrashRemote( + askConfirmation, + platformData.data, + (source, error) => { + platformData.freePlatformData(); + if (callback) + callback(source, error); + + if (error) { + console.log( + 'Error trashing files on the desktop: ' + + `${error.message}` + ); + } + } + ); + } catch (e) { + console.error(e); + } + } + + async UndoRemote(callback = null) { + try { + if (!this.fileOperationsManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + let platformData = await this.platformData(); + this.fileOperationsManager.proxy.UndoRemote( + platformData.data, + (result, error) => { + platformData.freePlatformData(); + if (callback) + callback(result, error); + + if (error) + console.log(`Error performing undo: ${error.message}`); + } + ); + } catch (e) { + console.error(e); + } + } + + async RedoRemote(callback = null) { + try { + if (!this.fileOperationsManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + let platformData = await this.platformData(); + + this.fileOperationsManager.proxy.RedoRemote( + platformData.data, + (result, error) => { + platformData.freePlatformData(); + if (callback) + callback(result, error); + + if (error) + console.log(`Error performing redo: ${error.message}`); + } + ); + } catch (e) { + console.error(e); + } + } + + UndoStatus() { + return this.fileOperationsManager.proxy.UndoStatus; + } +} + + +class LegacyRemoteFileOperationsManager extends DbusOperationsManager { + constructor(fileOperationsManager, + FreeDesktopFileManager, + GnomeNautilusPreview, + GnomeArchiveManager + ) { + super( + FreeDesktopFileManager, GnomeNautilusPreview, GnomeArchiveManager + ); + + this.fileOperationsManager = fileOperationsManager; + } + + MoveURIsRemote(fileList, uri, callback) { + if (!this.fileOperationsManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + this.fileOperationsManager.proxy.MoveURIsRemote( + fileList, + uri, + (result, error) => { + if (callback) + callback(result, error); + + if (error) + console.log(`Error moving files: ${error.message}`); + } + ); + } + + CopyURIsRemote(fileList, uri, callback = null) { + if (!this.fileOperationsManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + this.fileOperationsManager.proxy.CopyURIsRemote( + fileList, + uri, + (result, error) => { + if (callback) + callback(result, error); + + if (error) + console.log(`Error copying files: ${error.message}`); + } + ); + } + + RenameURIRemote(fileList, uri, callback = null) { + if (!this.fileOperationsManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + this.fileOperationsManager.proxy.RenameFileRemote( + fileList, + uri, + (result, error) => { + if (callback) + callback(result, error); + + if (error) + console.log(`Error renaming files: ${error.message}`); + } + ); + } + + TrashURIsRemote(fileList, callback = null) { + if (!this.fileOperationsManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + this.fileOperationsManager.proxy.TrashFilesRemote( + fileList, + (result, error) => { + if (callback) + callback(result, error); + + if (error) + console.log(`Error moving files: ${error.message}`); + } + ); + } + + DeleteURIsRemote(fileList, callback = null) { + if (!this.fileOperationsManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + this.fileOperationsManager.proxy.TrashFilesRemote( + fileList, + (source, error) => { + this.EmptyTrashRemote(); + if (callback) + callback(source, error); + + if (error) + console.log(`Error deleting files on the desktop: ${error.message}`); + } + ); + } + + EmptyTrashRemote(callback = null) { + if (!this.fileOperationsManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + this.fileOperationsManager.proxy.EmptyTrashRemote( + (source, error) => { + if (callback) + callback(source, error); + + if (error) + console.log(`Error trashing files on the desktop: ${error.message}`); + } + ); + } + + UndoRemote(callback = null) { + if (!this.fileOperationsManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + this.fileOperationsManager.proxy.UndoRemote( + (result, error) => { + if (callback) + callback(result, error); + + if (error) + console.log(`Error performing undo: ${error.message}`); + } + ); + } + + RedoRemote(callback = null) { + if (!this.fileOperationsManager.proxy) { + this._sendNoProxyError(callback); + + return; + } + + this.fileOperationsManager.proxy.RedoRemote( + (result, error) => { + if (callback) + callback(result, error); + + if (error) + console.log(`Error performing redo: ${error.message}`); + } + ); + } + + UndoStatus() { + return this.fileOperationsManager.proxy.UndoStatus; + } +} + +// eslint-disable-next-line no-unused-vars +const DBusUtils = class { + constructor(mainApp) { + this.mainApp = mainApp; + this.discreteGpuAvailable = false; + this.dbusManagerObject = new DBusManager(mainApp); + const makeAsync = true; + const insSytembus = true; + const insSessionBus = !insSytembus; + + let data = this.dbusManagerObject.getIntrospectionData( + 'org.gnome.Nautilus', + '/org/gnome/Nautilus/FileOperations2', + false); + + if (data) { + // NautilusFileOperations2 + this.NautilusFileOperations2 = new ProxyManager( + this.dbusManagerObject, + 'org.gnome.Nautilus', + '/org/gnome/Nautilus/FileOperations2', + 'org.gnome.Nautilus.FileOperations2', + insSessionBus, + 'Nautilus', + makeAsync + ); + } else { + console.log( + 'Emulating NautilusFileOperations2 with the old ' + + 'NautilusFileOperations interface' + ); + // Emulate NautilusFileOperations2 with the old interface + this.NautilusFileOperations2 = new ProxyManager( + this.dbusManagerObject, + 'org.gnome.Nautilus', + '/org/gnome/Nautilus', + 'org.gnome.Nautilus.FileOperations', + insSessionBus, + 'Nautilus', + makeAsync + ); + } + + this.FreeDesktopFileManager = new ProxyManager( + this.dbusManagerObject, + 'org.freedesktop.FileManager1', + '/org/freedesktop/FileManager1', + 'org.freedesktop.FileManager1', + insSessionBus, + 'Nautilus', + makeAsync + ); + + this.GnomeNautilusPreview = new ProxyManager( + this.dbusManagerObject, + 'org.gnome.NautilusPreviewer', + '/org/gnome/NautilusPreviewer', + 'org.gnome.NautilusPreviewer', + insSessionBus, + 'Nautilus-Sushi', + makeAsync + ); + + this.GnomeArchiveManager = new ProxyManager( + this.dbusManagerObject, + 'org.gnome.ArchiveManager1', + '/org/gnome/ArchiveManager1', + 'org.gnome.ArchiveManager1', + insSessionBus, + 'File-roller', + makeAsync + ); + + this.GtkVfsMetadata = new ProxyManager( + this.dbusManagerObject, + 'org.gtk.vfs.Metadata', + '/org/gtk/vfs/metadata', + 'org.gtk.vfs.Metadata', + insSessionBus, + 'Gvfs daemon', + makeAsync + ); + + this.SwitcherooControl = new ProxyManager( + this.dbusManagerObject, + 'net.hadess.SwitcherooControl', + '/net/hadess/SwitcherooControl', + 'net.hadess.SwitcherooControl', + insSytembus, + 'Switcheroo control', + makeAsync + ); + this.discreteGpuAvailable = this.SwitcherooControl.isAvailable; + this.SwitcherooControl.connect('changed-status', (obj, newStatus) => { + this.discreteGpuAvailable = newStatus; + }); + + if (data) { + this.RemoteFileOperations = new RemoteFileOperationsManager( + this.NautilusFileOperations2, + this.FreeDesktopFileManager, + this.GnomeNautilusPreview, + this.GnomeArchiveManager, + this.mainApp + ); + } else { + this.RemoteFileOperations = new LegacyRemoteFileOperationsManager( + this.NautilusFileOperations2, + this.FreeDesktopFileManager, + this.GnomeNautilusPreview, + this.GnomeArchiveManager + ); + } + + this.GsConnectManager = new ProxyManager( + this.dbusManagerObject, + 'org.gnome.Shell.Extensions.GSConnect', + '/org/gnome/Shell/Extensions/GSConnect', + 'org.freedesktop.DBus.ObjectManager', + insSessionBus, + 'GsConnect Extension', + makeAsync + ); + + this.RemoteSendFileOperations = + new GsConnect.GsConnectSendFileOperationsManager( + this.GsConnectManager, + this.mainApp + ); + + const appID = this.mainApp.get_application_id().replace(/test$/, ''); + const extBusID = `${appID}extension`; + const extBusPath = GLib.build_filenamev(['/', ...extBusID.split('.')]); + const extBusInterface = extBusID; + + this.RemoteExtensionManager = new ProxyManager( + this.dbusManagerObject, + extBusID, + extBusPath, + extBusInterface, + insSessionBus, + null, + makeAsync + ); + + this.RemoteExtensionControl = + new ExtensionControl(this.RemoteExtensionManager); + } +}; + +class ExtensionControl { + constructor(RemoteExtensionManager) { + this.RemoteExtensionManager = RemoteExtensionManager; + } + + async getState() { + const x = await this._getShellDevicePointer(); + return x ? x[0].slice(2) : null; + } + + updateDesktopGeometry() { + this.RemoteExtensionManager.proxy.updateDesktopGeometrySync(); + } + + showShellBackgroundMenu() { + this.RemoteExtensionManager.proxy.showShellBackgroundMenuSync(); + } + + async getDropTargetCoordinates() { + const x = await this._getShellDevicePointer(); + return x ? x[0].slice(0, 2) : null; + } + + _getShellDevicePointer() { + return new Promise(resolve => { + try { + this.RemoteExtensionManager.proxy + .getShellGlobalCoordinatesRemote( + (coords, error) => { + if (error) { + console.error(error, + 'Unable to get global Coordinates' + ); + + resolve(null); + } else { + resolve(coords); + } + } + ); + } catch (e) { + console.error(e); + } + }); + } + + getDropTargetAppInfoDesktopFile(dropCoordinates = [0, 0]) { + return new Promise(resolve => { + try { + let dropX = dropCoordinates[0]; + let dropY = dropCoordinates[1]; + + this.RemoteExtensionManager.proxy + .getDropTargetAppInfoDesktopFileRemote( + [dropX, dropY], + (desktopFileAppPath, error) => { + if (error) { + console.error(error, 'Unable to get .desktop file'); + + resolve(null); + // eslint-disable-next-line eqeqeq + } else if (desktopFileAppPath == 'null') { + resolve(null); + } else { + resolve(desktopFileAppPath[0]); + } + } + ); + } catch (e) { + console.error(e); + } + }); + } + + setDragCursor(cursor = 'default') { + this.RemoteExtensionManager.proxy.setDragCursorRemote( + cursor, + (result, error) => { + if (error) + console.error(error, 'Unable to set Shell Cursor'); + } + ); + } + + get isAvailable() { + return this.RemoteExtensionManager.isAvailable; + } +} diff --git a/ding/app/utils/desktopFolderUtils.js b/ding/app/utils/desktopFolderUtils.js new file mode 100644 index 0000000..58b640b --- /dev/null +++ b/ding/app/utils/desktopFolderUtils.js @@ -0,0 +1,350 @@ +/* ADW-DING: Desktop Icons New Generation for GNOME Shell + * + * Adw/Gtk4 Port Copyright (C) 2025 Sundeep Mediratta (smedius@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 . + */ + +import {gettext, Gio, GLib, Gtk} from '../../dependencies/gi.js'; +import {_} from '../../dependencies/gettext.js'; +import {Enums} from '../../dependencies/localFiles.js'; + +export {DesktopFolderUtils}; + +const DesktopFolderUtils = class { + constructor(window) { + this._activeWindow = window; + this.Enums = Enums; + this._desktopDir = this.getDesktopDir(); + // Bind xdg-user-dirs translation domain + gettext.bindtextdomain('xdg-user-dirs', '/usr/share/locale'); + } + + _monitorDesktopDirChanges() { + this._xdgUserDirs = this._getXdgUserDirs(); + + this._monitorXdgUserDirs = this._xdgUserDirs.monitor_file( + Gio.FileMonitorFlags.WATCH_MOVES, null); + + this._monitorXdgUserDirs.set_rate_limit(2000); + + this._connectMonitor(); + } + + _connectMonitor() { + this._monitorID = this._monitorXdgUserDirs.connect( + 'changed', + (obj, file, otherFile, event) => { + if (!(event === Gio.FileMonitorEvent.CHANGES_DONE_HINT || + event === Gio.FileMonitorEvent.RENAMED)) + return; + + if (this._changingDesktopDirID) + GLib.source_remove(this._changingDesktopDirID); + + this._changingDesktopDirID = + GLib.timeout_add(GLib.PRIORITY_LOW, 500, () => { + const newDesktopDir = + this.getDesktopDir(); + this.onDesktopFolderChanged(newDesktopDir); + this._changingDesktopDirID = null; + return GLib.SOURCE_REMOVE; + }); + } + ); + } + + _disconnectMonitor() { + if (this._monitorID) + this._monitorXdgUserDirs.disconnect(this._monitorID); + this._monitorID = 0; + } + + _stopMonitoring() { + this._disconnectMonitor(); + this._monitorXdgUserDirs?.cancel(); + } + + onDesktopFolderChanged(newDesktopDir) { + this._desktopDir = newDesktopDir; + } + + changeDesktop() { + const dialog = new Gtk.FileDialog(); + dialog.set_title(_('Choose Desktop Folder')); + dialog.set_accept_label(_('Choose')); + dialog.set_modal(true); + + dialog.set_initial_folder( + Gio.File.new_for_commandline_arg(GLib.get_home_dir()) + ); + + dialog.select_folder( + this.activeWindow, + null, + this._finishChooseDesktopFolder.bind(this) + ); + } + + restoreDefaultDesktop() { + const localizedDesktopName = this.getSystemLocalizedDesktopDir(); + const defaultDesktop = GLib.build_filenamev([GLib.get_home_dir(), + localizedDesktopName]); + + const desktopFolder = Gio.File.new_for_path(defaultDesktop); + + try { + if (!desktopFolder.query_exists(null)) + GLib.mkdir_with_parents(desktopFolder.get_path(), 0o755); + } catch (e) { + console.error( + `Unable to create Folder ${defaultDesktop}: ${e.message}` + ); + } + + this._setDesktopFolder(desktopFolder); + } + + getDesktopDir() { + const glibDesktopPath = + GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DESKTOP); + + let xdgDesktopPath = null; + + try { + const userDirsGioFile = this._getXdgUserDirs(); + + if (!userDirsGioFile.query_exists(null)) { + throw new Error( + 'User configuration file user-dirs.users does not exist' + ); + } + + const decoder = new TextDecoder(); + + const contents = + decoder + .decode(GLib.file_get_contents(userDirsGioFile.get_path())[1]) + .trim(); + + if (contents) + xdgDesktopPath = this._parseUserDirsFile(contents); + } catch (e) { + console.error(e, `XDG Desktop not set, ${e}`); + } + + const desktopPath = xdgDesktopPath ? xdgDesktopPath : glibDesktopPath; + + return Gio.File.new_for_commandline_arg(desktopPath); + } + + getSystemLocalizedDesktopDir() { + const systemDesktopDirName = + this._getSystemDesktopDir() ?? this.Enums.DEFAULT_DESKTOP_NAME; + const localizedDesktopName = + gettext.dgettext('xdg-user-dirs', systemDesktopDirName); + + return localizedDesktopName ?? systemDesktopDirName; + } + + _getSystemDesktopDir() { + const systemDirsGioFile = this._getXdgSystemDirs(); + + if (!systemDirsGioFile) { + console.error('No system xdg user-dirs.default file'); + return null; + } + + let xdgSystemDesktopPath = null; + const decoder = new TextDecoder(); + + try { + const contents = + decoder + .decode(GLib.file_get_contents(systemDirsGioFile.get_path())[1]) + .trim(); + + if (contents) { + const parseSystemconfig = true; + + xdgSystemDesktopPath = + this._parseUserDirsFile(contents, parseSystemconfig); + } + } catch (e) { + console.error(e, `XDG Desktop not set in user-dirs.default, ${e}`); + } + + return xdgSystemDesktopPath; + } + + + async _finishChooseDesktopFolder(dialog, asyncResult) { + let newFolder = null; + + try { + newFolder = dialog.select_folder_finish(asyncResult); + } catch (e) { + if (e.matches(Gtk.DialogError, Gtk.DialogError.CANCELLED) || + e.matches(Gtk.DialogError, Gtk.DialogError.DISMISSED)) + return; + console.error(e, `Error selecting folder: ${e.message}`); + } + + if (!newFolder) + return; + + await this._setDesktopFolder(newFolder); + } + + async _setDesktopFolder(newFolder) { + const isFolder = + newFolder.query_file_type( + Gio.FileQueryInfoFlags.NOFOLLOW_SYMLINKS, + null + ) === Gio.FileType.DIRECTORY; + + if (!isFolder) + return; + + if (newFolder.get_path() === this._desktopDir.get_path()) + return; + + await this._writeXdgUserDirsDesktopFile(newFolder.get_path()); + } + + _isDefaultDesktopFolder() { + const localizedDesktopName = this.getSystemLocalizedDesktopDir(); + const defaultDesktop = GLib.build_filenamev([GLib.get_home_dir(), + localizedDesktopName]); + + return this._desktopDir.get_path() === defaultDesktop; + } + + _parseUserDirsFile(content, systemconfig = null) { + if (!content) + return null; + + const serarchstring = systemconfig ? 'DESKTOP=' : 'XDG_DESKTOP_DIR='; + + const lineArray = content.trim().split('\n'); + + const desktopline = + lineArray.filter(l => l.startsWith(serarchstring))[0]; + + let xdgDesktopPath = desktopline.split('=')[1].trim(); + xdgDesktopPath = xdgDesktopPath.replace(/^"|"$/g, ''); + xdgDesktopPath = xdgDesktopPath.replace('$HOME', GLib.get_home_dir()); + + return xdgDesktopPath; + } + + async _writeXdgUserDirsDesktopFile(path) { + const userDirsGioFile = this._getXdgUserDirs(); + + if (path.startsWith(GLib.get_home_dir())) + path = path.replace(GLib.get_home_dir(), '$HOME'); + + const newline = `XDG_DESKTOP_DIR="${path}"`; + + try { + const decoder = new TextDecoder(); + + const contents = + decoder + .decode(GLib.file_get_contents(userDirsGioFile.get_path())[1]) + .trim(); + + const lineArray = contents.split('\n'); + + const newArray = lineArray.map(l => { + if (l.startsWith('XDG_DESKTOP_DIR=')) + return newline; + return l; + }); + + const newContents = newArray.join('\n'); + await this._replaceFileContentsAsync(userDirsGioFile, newContents); + } catch (e) { + console.error(e, `Failed to write XDG Desktop file with ${e}`); + } + } + + async _replaceFileContentsAsync(destinationFile, contents) { + const textCoder = new TextEncoder(); + const byteArray = new GLib.Bytes(textCoder.encode(contents)); + + try { + await destinationFile.replace_contents_async( + byteArray, + null, + false, + Gio.FileCreateFlags.REPLACE_DESTINATION, + null + ); + } catch (e) { + if (e.matches( + Gio.IOErrorEnum, + Gio.IOErrorEnum.NOT_EMPTY + )) { + GLib.mkdir_with_parents( + GLib.path_get_dirname(destinationFile.get_path()), + 0o700 + ); + + this._replaceFileContentsAsync(destinationFile, contents); + return; + } + + console.error(e, `Failed to write XDG Desktop file with ${e}`); + } + } + + _getXdgUserDirs() { + const xdgUserDirspath = + Gio.File.new_build_filenamev( + [GLib.get_user_config_dir(), this.Enums.XDG_USER_DIRS] + ); + + return xdgUserDirspath; + } + + _getXdgSystemDirs() { + const xdgSystemDirsArray = GLib.get_system_config_dirs(); + + for (let dir of xdgSystemDirsArray) { + const xdgSystemdir = Gio.File.new_build_filenamev( + [dir, this.Enums.XDG_SYSTEM_DIRS] + ); + + if (xdgSystemdir.query_exists(null)) + return xdgSystemdir; + } + + return null; + } + + get activeWindow() { + if (this._activeWindow) + return this._activeWindow; + + return Gio.Application.get_default().get_active_window(); + } + + set activeWindow(window) { + this._activeWindow = window; + } + + get isDefaultDesktop() { + return this._isDefaultDesktopFolder(); + } +}; diff --git a/ding/app/utils/desktopIconsUtil.js b/ding/app/utils/desktopIconsUtil.js new file mode 100644 index 0000000..c87e24f --- /dev/null +++ b/ding/app/utils/desktopIconsUtil.js @@ -0,0 +1,1025 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Copyright (C) 2022 Sundeep Mediratta - eslint fix errors and format GJS/Gnome guidelines + * Copyright (C) 2019 Sergio Costas (rastersoft@gmail.com) + * Based on code original (C) 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, 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 . + */ +import {Gio, GLib, Gdk, GdkX11, DesktopAppInfo} from '../../dependencies/gi.js'; +import {_} from '../../dependencies/gettext.js'; + +export {DesktopIconsUtil}; + +const DesktopIconsUtil = class { + constructor(Data, Utils) { + this.mainApp = Data.mainApp; + this.Enums = Data.Enums; + this.FileUtils = Utils.FileUtils; + this.Prefs = Utils.Preferences; + } + + + /** + * Returs the Gtk Application ID + */ + getMainApp() { + return this.mainApp; + } + + + usingX11() { + return Gdk.Display.get_default() instanceof GdkX11.X11Display; + } + + ensureDir(path) { + const file = Gio.File.new_for_path(path); + try { + file.make_directory_with_parents(null); + } catch (e) { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.EXISTS)) + throw e; + } + return path; + } + + /** + * + * Returns the Nautilus scripts directory as a Gio.File + */ + getScriptsDir() { + return Gio.File.new_build_filenamev([ + GLib.get_home_dir(), + this.Enums.NAUTILUS_SCRIPTS_DIR, + ]); + } + + getUserTerminalConfFile() { + const xdgUserConfigFolder = GLib.get_user_config_dir(); + + return Gio.File.new_build_filenamev([ + xdgUserConfigFolder, + this.Enums.XDG_TERMINAL_LIST_FILE, + ]); + } + + getSystemTerminalConfFile() { + const xdgEtcConfigFolder = GLib.get_system_config_dirs(); + const systemTerminalConfFiles = []; + + xdgEtcConfigFolder.forEach(f => { + const gioFile = + Gio.File.new_build_filenamev([ + f, + this.Enums.XDG_TERMINAL_LIST_FILE, + ]); + + systemTerminalConfFiles.push(gioFile); + }); + + return systemTerminalConfFiles; + } + + getUserDataTerminalDir() { + const userDataDir = GLib.get_user_data_dir(); + + return Gio.File.new_build_filenamev([ + userDataDir, + this.Enums.XDG_TERMINAL_DIR, + this.Enums.XDG_TERMINAL_LIST_FILE, + ]); + } + + getSystemDataTerminalDirs() { + const systemDataDirs = this.Enums.SYSTEM_DATA_DIRS; + const systemDataTerminalFiles = []; + + systemDataDirs.forEach(f => { + const gioFile = Gio.File.new_build_filenamev([ + f, + this.Enums.XDG_TERMINAL_DIR, + this.Enums.XDG_TERMINAL_LIST_FILE, + ]); + systemDataTerminalFiles.push(gioFile); + }); + + return systemDataTerminalFiles; + } + + /** + * + * Returns the users Templates directory as a Gio.File + */ + getTemplatesDir() { + let templatesDir = + GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_TEMPLATES); + + if ((templatesDir === GLib.get_home_dir()) || (templatesDir === null)) + return null; + + return Gio.File.new_for_commandline_arg(templatesDir); + } + + + /** + * XDG user data dir for this app: + * $XDG_DATA_HOME/ (usually ~/.local/share/) + * + * @returns {Gio.File} + */ + getAppUserDataDir() { + const userDataDir = GLib.get_user_data_dir(); + const appId = this.mainApp?.get_application_id + ? this.mainApp.get_application_id() + : null; + + if (!appId) + throw new Error('Application ID is not available'); + + return Gio.File.new_build_filenamev([userDataDir, appId]); + } + + /** + * Widgets state file under the app data dir: + * $XDG_DATA_HOME//widgets.json + * + * @returns {Gio.File} + */ + getWidgetsStateFile() { + const appDir = this.getAppUserDataDir(); + return appDir.get_child('widgets.json'); + } + + /** + * + * @param {float} value number + * @param {integer} min number + * @param {integer} max number + */ + clamp(value, min, max) { + return Math.max(Math.min(value, max), min); + } + + + /** + * + */ + getFilteredEnviron() { + let environ = []; + for (let env of GLib.get_environ()) { + /* It's a must to remove the WAYLAND_SOCKET environment variable + because, under Wayland, DING uses an specific socket to allow the + extension to detect its windows. But the scripts must run under + the normal socket */ + if (env.startsWith('WAYLAND_SOCKET=')) + continue; + + environ.push(env); + } + return environ; + } + + + /** + * + * @param {string} commandLine command to execute + * @param {Array} environ child's environment, or null + * to inherit parent's + */ + spawnCommandLine(commandLine, environ = null) { + try { + const [, argv] = GLib.shell_parse_argv(commandLine); + this.trySpawn(null, argv, environ); + } catch (e) { + console.error(e, `${commandLine} failed with ${e}`); + } + } + + /** + * + * @param {string} workdir working directory path + * @param {Array(String)} argv child's argument vector + * @param {Array} environ child's environment, or null to + * inherit parent's + * @param {bool} async or async execution + */ + trySpawn(workdir, argv, environ = null, async = true) { + /* 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 + */ + const exec = async ? GLib.spawn_async : GLib.spawn_sync; + const flags = + async + ? GLib.SpawnFlags.SEARCH_PATH | GLib.SpawnFlags.DO_NOT_REAP_CHILD + : GLib.SpawnFlags.SEARCH_PATH; + + var pid; + + try { + [, pid] = exec(workdir, argv, environ, flags, + () => {}); + } 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, + }); + } else { + throw err; + } + } + + if (!async) + return; + + // 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, () => {}); + } + + + /** + * + * @param {float} x first x coordinate + * @param {float} y first y coordinate + * @param {float} x2 second x coordinate + * @param {float} y2 second y coordinate + * @returns {float} Distance between points + */ + distanceBetweenPoints(x, y, x2, y2) { + return Math.pow(x - x2, 2) + Math.pow(y - y2, 2); + } + + + /** + * + */ + getExtraFolders() { + const extraFolders = []; + + if (this.Prefs.desktopSettings.get_boolean('show-home')) { + extraFolders.push( + [ + Gio.File.new_for_commandline_arg(GLib.get_home_dir()), + this.Enums.FileType.USER_DIRECTORY_HOME, + ] + ); + } + + if (this.Prefs.desktopSettings.get_boolean('show-trash')) { + extraFolders.push( + [ + Gio.File.new_for_uri('trash:///'), + this.Enums.FileType.USER_DIRECTORY_TRASH, + ] + ); + } + + return extraFolders; + } + + + /** + * + * @param {Gio.VolumeMonitor} volumeMonitor A Gio.VolumeMonitor + */ + getMounts(volumeMonitor) { + const showVolumes = + this.Prefs.desktopSettings.get_boolean('show-volumes'); + + const showNetwork = + this.Prefs.desktopSettings.get_boolean('show-network-volumes'); + + var mountedFileSystems; + + try { + mountedFileSystems = volumeMonitor.get_mounts(); + } catch (e) { + console.log(`Failed to get the list of mounts with ${e}`); + return []; + } + + let result = []; + let uris = []; + + for (let gioMount of mountedFileSystems) { + try { + let isDrive = + (gioMount.get_drive() !== null) || + (gioMount.get_volume() !== null); + + let uri = gioMount.get_default_location().get_uri(); + + if (((isDrive && showVolumes) || + (!isDrive && showNetwork)) && + !uris.includes(uri) + ) { + result.push([ + gioMount.get_default_location(), + this.Enums.FileType.EXTERNAL_DRIVE, + gioMount, + ]); + + uris.push(uri); + } + } catch (e) { + console.log(`Failed with ${e} while getting volume`); + } + } + return result; + } + + + /** + * + * @param {string} filename Name of file + * @param {object} opts Oject with boolean option keys + */ + getFileExtensionOffset(filename, opts = {'isDirectory': false}) { + let offset = filename.length; + let extension = ''; + + if (!opts.isDirectory) { + const doubleExtensions = + ['.gz', '.bz2', '.sit', '.Z', '.bz', '.xz']; + + for (const item of doubleExtensions) { + if (filename.endsWith(item)) { + offset -= item.length; + extension = filename.substring(offset); + filename = filename.substring(0, offset); + break; + } + } + + let lastDot = filename.lastIndexOf('.'); + + if (lastDot > 0) { + offset = lastDot; + extension = filename.substring(offset) + extension; + filename = filename.substring(0, offset); + } + } + + return {offset, 'basename': filename, extension}; + } + + + /** + * + * @param {Gio.File} file a file Gio + * @param {stirng} contents file contents + * @param {Gio.Cancellable} cancellable gio cancellable + */ + replaceFileContentsAsync(file, contents, cancellable) { + /* Promisify doesn't work with this */ + const textCoder = new TextEncoder(); + const byteArray = new GLib.Bytes(textCoder.encode(contents)); + + return new Promise((resolve, reject) => { + file.replace_contents_bytes_async( + byteArray, + null, + true, + Gio.FileCreateFlags.REPLACE_DESTINATION, + cancellable, + (sourceObject, res) => { + try { + resolve(file.replace_contents_finish(res)); + } catch (e) { + reject(e); + } + } + ); + }); + } + + /** + * + * @param {Gio.File} file a file Gio + * @param {Gio.Cancellable} cancellable gio cancellable + */ + readFileContentsAsync(file, cancellable = null) { + return new Promise((resolve, reject) => { + try { + file.read_async( + GLib.PRIORITY_DEFAULT, + cancellable, + (actor, result) => { + try { + let inputstream = actor.read_finish(result); + + let dataInputstream = + Gio.DataInputStream.new(inputstream); + + let [string, number] = + dataInputstream.read_upto('', 0, cancellable); + + if (number) + resolve(string); + else + reject(Error.new('Empty String')); + } catch (e) { + reject(e); + } + }); + } catch (e) { + reject(new Error('Error reading file')); + } + }); + } + + /** + * Read up to `bytes` bytes from a Gio.File. + * If fromTail == false: read from start of file. + * If fromTail == true: read the last `bytes` bytes of the file. + * + * @param {Gio.File} file a file Gio + * @param {number} bytes number of bytes to read + * @param {Gio.Cancellable?} cancellable gio cancellable + * @param {boolean} fromTail read from tail if true else from start + * @returns {Promise} + */ + readFileBytesAsync(file, bytes, cancellable = null, fromTail = false) { + return new Promise((resolve, reject) => { + let offset = 0; + let newBytes = bytes; + + if (fromTail) { + let info; + try { + info = file.query_info( + 'standard::size', + Gio.FileQueryInfoFlags.NONE, + cancellable + ); + } catch (e) { + reject(new Error(`Error getting file size: ${e}`)); + return; + } + const fileSize = info.get_size(); + offset = Math.max(0, fileSize - bytes); + newBytes = Math.min(bytes, fileSize); + } + + try { + file.read_async( + GLib.PRIORITY_DEFAULT, + cancellable, + (actor, result) => { + let inputstream; + try { + inputstream = actor.read_finish(result); + } catch (e) { + reject( + new Error(`Error opening input stream: ${e}`) + ); + return; + } + + function failAndClose(message) { + try { + inputstream.close(cancellable); + } catch (e) { + // ignore close error + } + reject(new Error(message)); + } + + function doRead() { + inputstream.read_bytes_async( + newBytes, + GLib.PRIORITY_DEFAULT, + cancellable, + (sourceObject, res2) => { + let data; + try { + data = + sourceObject + .read_bytes_finish(res2); + } catch (e) { + failAndClose( + `Error reading bytes: ${e}` + ); + return; + } + + if (data && data.get_size() > 0) { + try { + inputstream.close(cancellable); + } catch (e) { + /* ignore */ + } + resolve(data); + return; + } + + failAndClose('Empty Bytes'); + } + ); + } + + if (offset === 0) { + doRead(); + return; + } + + inputstream.skip_async( + offset, + GLib.PRIORITY_DEFAULT, + cancellable, + (sourceObject, resSkip) => { + try { + const skipped = + sourceObject.skip_finish(resSkip); + + if (skipped !== offset) { + failAndClose( + `Skip Error: + wanted offset ${offset} bytes, + got ${skipped} bytes` + ); + return; + } + } catch (e) { + failAndClose(`Error skipping bytes: ${e}`); + return; + } + doRead(); + } + ); + } + ); + } catch (e) { + reject(new Error(`Error starting async read: ${e}`)); + } + }); + } + + /** + * Check if a pdf file is encrypted + * @param {Gio.File} file a file Gio of pdf file + * @param {Gio.Cancellable} cancellable gio cancellable + * @returns boolean + */ + async checkIfPdfEncrypted(file, cancellable = null) { + const fromTail = true; + const data = await this.readFileBytesAsync( + file, + 1024, + cancellable, + fromTail + ).catch(e => logError(e)); + + if (!data) + return false; + + const decoder = new TextDecoder('latin1'); + + const trailerText = decoder.decode(data); + + const hasEncrypt = trailerText.includes('/Encrypt'); + if (!hasEncrypt) + return false; + + const looksLikeClassicTrailer = trailerText.includes('trailer'); + const looksLikeXrefStream = + trailerText.includes('/Type') && trailerText.includes('/XRef'); + + const encrypted = looksLikeClassicTrailer || looksLikeXrefStream; + + return encrypted; + } + + /** + * Check if a zip file is encrypted + * @param {Gio.File} file a file Gio of zip file + * @param {Gio.Cancellable} cancellable gio cancellable + * @returns boolean + */ + async checkIfZipEncrypted(file, cancellable = null) { + const data = await this.readFileBytesAsync( + file, + 1024, + cancellable + ).catch(e => logError(e)); + + if (!data) + return false; + + // Zip Encryption single file archive + // Check if the 6th bit in the 7th byte (flag field) is set + const generalPurposeFlag = new Uint8Array([data.get_data()[6]]); + const zipEncrypted = (generalPurposeFlag & 0x01) === 0x01; + + if (zipEncrypted) + return true; + + // Multiple zip file archive- needs external checking + const command = `zipinfo -v '${file.get_path()}'`; + const decoder = new TextDecoder(); + + try { + const [, out,, status] = GLib.spawn_command_line_sync(command); + + if (status !== 0) + return false; + + const contents = decoder.decode(out); + return contents.trim().split('\n').some(l => { + return l.includes('file security status:') && + !l.includes('not encrypted'); + }); + } catch (e) { + if (!e.matches(GLib.SpawnError, GLib.SpawnError.NOENT)) + console.error(`Error determining encryption Zip file ${e}`); + } + + return false; + } + + /** + * Check if a 7z file is encrypted + * @param {Gio.File} file a file Gio of 7z file + * @returns boolean + */ + checkIf7zEncrypted(file) { + const command = `7z l -pBadPassword -slt '${file.get_path()}'`; + const decoder = new TextDecoder(); + + try { + const [, out, error] = GLib.spawn_command_line_sync(command); + const contents = decoder.decode(error) + decoder.decode(out); + return contents.trim().split('\n').some(l => { + return l.includes('Encrypted = +') || + l.includes('Wrong password?'); + }); + } catch (e) { + if (!e.matches(GLib.SpawnError, GLib.SpawnError.NOENT)) + console.error(`Error determining encryption 7z file ${e}`); + } + + return false; + } + + /** + * + * @param {string} fileList text with list of Terminals, new line terminated + * @returns {Array} an array of Gio.DesktopAppInfo for each desktop + * entry in file + */ + parseTerminalList(fileList) { + const regexpattern = /^[/\\*#-]/; + const terminalGioDesktopAppInfoArray = []; + + if (fileList.endsWith('\n')) + fileList = fileList.slice(0, -1); + + const fileListArray = + fileList.split('\n').filter(f => !f.match(regexpattern)); + + if (fileListArray.length) { + fileListArray.forEach(f => { + const appinfo = DesktopAppInfo.new(f.replace('+', '')); + if (appinfo) + terminalGioDesktopAppInfoArray.push(appinfo); + }); + } + + return terminalGioDesktopAppInfoArray; + } + + + /** + * + * @param {string} content text of the user-dirs.dirs file + * @returns {string} path of Desktop Directory + */ + parseUserDirsFile(content) { + if (!content) + return null; + + const lineArray = content.trim().split('\n'); + + const desktopline = + lineArray.filter(l => l.startsWith('XDG_DESKTOP_DIR='))[0]; + + let xdgDesktopPath = desktopline.split('=')[1].trim(); + xdgDesktopPath = xdgDesktopPath.replace(/^"|"$/g, ''); + xdgDesktopPath = xdgDesktopPath.replace('$HOME', GLib.get_home_dir()); + + return xdgDesktopPath; + } + + /** + * + * @param {string} text text to write in the file + * @param {string} destinationDir path + * @param {string} filename name of file + * @param {Array(integer)} dropCoordinates coordiantes for the dropped file + * @param {Gio.Cancellable} cancellable a Gio.Cancellable + */ + async writeTextFileToPath(text, destinationDir, filename, + dropCoordinates, cancellable = null) { + const file = destinationDir.get_child(filename); + + try { + await this.FileUtils + .recursivelyMakeDir(destinationDir, cancellable); + + const info = new Gio.FileInfo(); + info.set_attribute_uint32(Gio.FILE_ATTRIBUTE_UNIX_MODE, 0o700); + + await destinationDir.set_attributes_async( + info, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_NORMAL, + cancellable + ); + } catch (e) { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.EXISTS)) + throw e; + } + + await this.replaceFileContentsAsync(file, text, cancellable); + + if (dropCoordinates !== null) { + const info = new Gio.FileInfo(); + info.set_attribute_string('metadata::nautilus-drop-position', + `${dropCoordinates.join(',')}`); + + await file.set_attributes_async( + info, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_LOW, + cancellable + ); + } + } + + /** + * + * @param {string} fileUri The system file URI of the .desktop + * file of the installed application + * + * @param {Array} dropCoordinates the drop cooordinates of the .desktop file + * + * Makes an executable .desktop file on the desktop with metadata set trusted. + */ + copyDesktopFileToDesktop(fileUri, dropCoordinates) { + return new Promise((resolve, reject) => { + let gioFile = Gio.File.new_for_uri(fileUri); + + let destinationGioFile = Gio.File.new_build_filenamev([ + GLib.get_user_special_dir( + GLib.UserDirectory.DIRECTORY_DESKTOP + ), + gioFile.get_basename(), + ]); + + let gioFileCopyFlags = + Gio.FileCopyFlags.OVERWRITE | + Gio.FileCopyFlags.TARGET_DEFAULT_PERMS; + + gioFile.copy_async( + destinationGioFile, + gioFileCopyFlags, + GLib.PRIORITY_LOW, + null, + null, + (source, result) => { + try { + let res = source.copy_finish(result); + + if (res) { + let info = new Gio.FileInfo(); + + if (dropCoordinates !== null) { + info.set_attribute_string( + 'metadata::nautilus-drop-position', + `${dropCoordinates[0]},${dropCoordinates[1]}` + ); + } + + let newUnixMode = + this.Enums.UnixPermissions.S_IRUSR | + this.Enums.UnixPermissions.S_IWUSR | + this.Enums.UnixPermissions.S_IXUSR | + this.Enums.UnixPermissions.S_IRGRP | + this.Enums.UnixPermissions.S_IWGRP | + this.Enums.UnixPermissions.S_IROTH; + + info.set_attribute_uint32( + Gio.FILE_ATTRIBUTE_UNIX_MODE, newUnixMode + ); + + info.set_attribute_string( + 'metadata::trusted', 'true' + ); + + destinationGioFile.set_attributes_async( + info, + Gio.FileQueryInfoFlags.NONE, + GLib.PRIORITY_LOW, + null, + (sour, resul) => { + try { + resolve( + sour.set_attributes_finish(resul) + ); + } catch (error) { + console.log( + 'Failed to make executable ' + + `.desktop File: ${error.message}` + ); + + reject(error); + } + } + ); + } + } catch (e) { + console.error(e); + + reject(e); + } + } + ); + }); + } + + /** + * + * @param {Gtk.Window} window The window + * @param {boolean} modal If the window should be modal + */ + windowHidePagerTaskbarModal(window, modal) { + window.set_application(this.mainApp); + let title = window.get_title(); + if (title === null) + title = ''; + + if (modal) + title += ' '; + else + title += ' '; + + window.set_title(title); + + if (modal) { + window.set_modal(true); + window.grab_focus(); + } + } + + /** + * + * @param {integer} ms milliseconds + */ + waitDelayMs(ms) { + return new Promise(resolve => { + GLib.timeout_add(GLib.PRIORITY_DEFAULT, ms, () => { + resolve(); + return false; + }); + }); + } + + + /** + * Coordiantes are the same + * + * @param {Array(integer)} coordA coordinates + * @param {Array(integer)} coordB coordinates + * @returns {boolean} true or false + */ + coordinatesEqual(coordA, coordB) { + if (coordA === coordB) + return true; + + if (coordA && coordB) + return (coordA[0] === coordB[0]) && (coordA[1] === coordB[1]); + + return false; + } + + checkAppOpensFileType( + gioDesktopAppInfo, + fileUri = null, + attributeContentType = null + ) { + let Appname = gioDesktopAppInfo.get_name(); + let gioFileInfo; + let AppsSupportingOpen = []; + + if (fileUri) { + gioFileInfo = + Gio.File.new_for_uri(fileUri) + .query_info( + this.Enums.DEFAULT_ATTRIBUTES, + Gio.FileQueryInfoFlags.NONE, + null + ); + + AppsSupportingOpen = + Gio.AppInfo.get_all_for_type(gioFileInfo.get_content_type()); + } else if (attributeContentType) { + AppsSupportingOpen = + Gio.AppInfo.get_all_for_type(attributeContentType); + } else { + return {canopenFile: false, Appname: 'None'}; + } + + AppsSupportingOpen = AppsSupportingOpen.map(f => f.get_name()); + + let canopenFile; + + if (AppsSupportingOpen.includes(Appname)) + canopenFile = true; + else + canopenFile = false; + + return {canopenFile, Appname}; + } + + /** + * Read JSON from a file. Returns parsed object or null on error. + * + * @param {Gio.File} file + * @param {Gio.Cancellable?} cancellable + * @returns {Promise} + */ + async readJsonFile(file, cancellable = null) { + try { + const text = await this.readFileContentsAsync(file, cancellable); + if (!text) + return null; + + return JSON.parse(text); + } catch (e) { + if (!Gio.IOErrorEnum.matches(e, Gio.IOErrorEnum.NOT_FOUND)) + console.error(`readJsonFile(${file.get_path?.() ?? '??'}):`, e); + + return null; + } + } + + /** + * Write JSON to a file (pretty-printed). + * + * Mirrors writeTextFileToPath() by ensuring the parent dir via FileUtils. + * + * @param {Gio.File} file + * @param {object} data + * @param {Gio.Cancellable?} cancellable + */ + async writeJsonFile(file, data, cancellable = null) { + const parent = file.get_parent(); + + if (parent) { + try { + await this.FileUtils.recursivelyMakeDir(parent, cancellable); + } catch (e) { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.EXISTS)) + throw e; + } + } + + let text; + try { + text = JSON.stringify(data, null, 2); + } catch (e) { + console.error('writeJsonFile: JSON.stringify failed:', e); + throw e; + } + + await this.replaceFileContentsAsync(file, text, cancellable); + } +}; diff --git a/ding/app/utils/gsConnect.js b/ding/app/utils/gsConnect.js new file mode 100644 index 0000000..33c1055 --- /dev/null +++ b/ding/app/utils/gsConnect.js @@ -0,0 +1,230 @@ +/* GsConnect Proxy + * + * Copyright (C) 2021, 2025 Sundeep Mediratta (smedius@gmail.com) + * Translation to javascript of python file with tweaks for DING + * + * Based on nautilus-gsconnect.py - + * A Nautilus extension for sending files via GSConnect by Andy Holmes + *fg + * A great deal of credit and appreciation is owed to the indicator-kdeconnect + * developers for the sister Python script 'kdeconnect-send-nautilus.py': + * 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 . + */ +import {Gio, GLib} from '../../dependencies/gi.js'; + +export {GsConnectSendFileOperationsManager}; + +var GsConnectSendFileOperationsManager = class { + constructor(GsConnectManager, mainApp) { + this._mainApp = mainApp; + this.gsConnectDevices = {}; + this.devices = {}; + this.gsConnectServiceName = 'org.gnome.Shell.Extensions.GSConnect'; + this.gsConnectServicePath = '/org/gnome/Shell/Extensions/GSConnect'; + this.GsConnectManager = GsConnectManager; + + this.GsConnectManager.connect('changed-status', () => { + GLib.timeout_add(GLib.PRIORITY_DEFAULT, 1000, () => { + this._startGsConnectService(); + return false; + }); + }); + + this._startGsConnectService(); + this._createSendAction(); + } + + _startGsConnectService() { + if (this.GsConnectManager.isAvailable) { + this.gsConnectProxy = this.GsConnectManager.proxy; + + if (!this.gsConnectProxy) { + this._stopService(); + return; + } + + this.signalID = + this.gsConnectProxy.connect( + 'g-signal', + this._on_g_signal.bind(this) + ); + + this._on_name_owner_changed(); + } else { + this._stopService(); + } + } + + _stopService() { + this.gsConnectDevices = {}; + this.devices = {}; + + if (this.signalID) { + this.gsConnectProxy.disconnect(this.signalID); + this.signalID = null; + } + } + + _on_g_signal(proxy, senderName, signalName, parameters) { + // Wait until the service is ready + if (!this.gsConnectProxy.get_name_owner()) + return; + + let objects = parameters.recursiveUnpack(); + + if (signalName === 'InterfacesAdded') { + for (let [objectPath, props] of Object.entries(objects)) { + props = props['org.gnome.Shell.Extensions.GSConnect.Device']; + + if (!props) + continue; + + let action = + Gio.DBusActionGroup.get( + this.gsConnectProxy.get_connection(), + this.gsConnectServiceName, + objectPath + ); + + this.gsConnectDevices[objectPath] = [props['Name'], action]; + } + } else if (signalName === 'InterfacesRemoved') { + for (const objectPath of Object.keys(objects)) { + try { + delete this.gsConnectDevices[objectPath]; + } catch (e) {} + } + } + + this._update_devices(); + } + + _on_name_owner_changed() { + // Wait until the service is ready + if (!this.gsConnectProxy.get_name_owner()) { + this.gsConnectDevices = {}; + } else { + this.gsConnectProxy.call( + 'GetManagedObjects', + null, + Gio.DBusCallFlags.NO_AUTO_START, + -1, + null, + this._get_managed_objects.bind(this) + ); + } + } + + _get_managed_objects(proxy, res) { + let objects = this.gsConnectProxy.call_finish(res).recursiveUnpack()[0]; + + if (objects) { + for (let [objectPath, props] of Object.entries(objects)) { + props = props['org.gnome.Shell.Extensions.GSConnect.Device']; + + if (!Object.keys(props).length > 0) + continue; + + let action = + Gio.DBusActionGroup.get( + this.gsConnectProxy.get_connection(), + this.gsConnectServiceName, + objectPath + ); + + this.gsConnectDevices[objectPath] = [props['Name'], action]; + } + + this._update_devices(); + } + } + + _createSendAction() { + let sendfiles = new Gio.SimpleAction({ + name: 'sendfiles', + parameter_type: new GLib.VariantType('s'), + }); + + sendfiles.connect('activate', (action, parameter) => { + let device = parameter.recursiveUnpack(); + this._send_files(device); + }); + + this._mainApp.add_action(sendfiles); + } + + _send_files(device) { + // send files to shareFile action in actiongroup + // for the devices actiongroup + let actionGroup = this.devices[device]; + + for (let file of this.sendablefiles) { + let variant = GLib.Variant.new('(sb)', [file.get_uri(), false]); + actionGroup.activate_action('shareFile', variant); + } + } + + _update_devices() { + this.devices = {}; + + for (let [name, actionGroup] of Object.values(this.gsConnectDevices)) { + if (actionGroup.get_action_enabled('shareFile')) + this.devices[name] = actionGroup; + } + } + + _get_devices() { + // No capable devices + if (!Object.keys(this.devices).length > 0) + return null; + else + return true; + } + + _sendable_file_items(files) { + // Return a list of select files to be sent + // Only accept regular files + for (let f of files) { + if (f.get_uri_scheme() !== 'file') + return null; + } + return true; + } + + create_gsconnect_menu(files) { + this.sendablefiles = files.map(f => f.file); + this._update_devices(); + + if ( + this._sendable_file_items(this.sendablefiles) && + this._get_devices() + ) { + this._menu = new Gio.Menu(); + + for (let device of Object.keys(this.devices)) { + let menuitem = Gio.MenuItem.new(`${device}`, null); + + menuitem.set_action_and_target_value( + 'app.sendfiles', + GLib.Variant.new('s', `${device}`) + ); + + this._menu.append_item(menuitem); + } + + return this._menu; + } else { + return null; + } + } +}; diff --git a/ding/app/volumeIcon.js b/ding/app/volumeIcon.js new file mode 100644 index 0000000..f167b42 --- /dev/null +++ b/ding/app/volumeIcon.js @@ -0,0 +1,161 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Adw-DING Copyright (C) 2022, 2025 Sundeep Mediratta (smedius@gmail.com) + * Based on code original (C) Carlos Soriano and (c) 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, 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 . + */ + +import {Gtk, Gio} from '../dependencies/gi.js'; +import {FileItemIcon} from '../dependencies/localFiles.js'; + +import {_} from '../dependencies/gettext.js'; + +export {VolumeIcon}; + +const VolumeIcon = class extends FileItemIcon { + constructor(desktopManager, file, fileInfo, fileExtra, gioMount) { + super(desktopManager, file, fileInfo, fileExtra, gioMount); + + if (this._gioMount) { + /* gjs doesn't handle some virtual implementations well*/ + Gio._promisify(this._gioMount.constructor.prototype, + 'eject_with_operation'); + Gio._promisify(this._gioMount.constructor.prototype, + 'unmount_with_operation'); + } + } + + _destroy() { + super._destroy(); + + if (this._umountCancellable) + this._umountCancellable.cancel(); + + if (this._ejectCancellable) + this._ejectCancellable.cancel(); + } + + _getVisibleName() { + if (this._fileTypeEnum === this.Enums.FileType.EXTERNAL_DRIVE) + return this._gioMount.get_name(); + + return super._getVisibleName(); + } + + _setAccesibilityName() { + const visibleName = this._getVisibleName(); + const driveName = _('Drive'); + + if (this._fileTypeEnum === this.Enums.FileType.EXTERNAL_DRIVE) { + /** TRANSLATORS: when using a screen reader, this is the text + * read when an external drive is selected. + * Example: if a USB stick named "my_portable" + * is selected, it will say "my_portable Drive" */ + this.container.update_property( + [Gtk.AccessibleProperty.LABEL], + [`${visibleName} ${driveName}`] + ); + } + } + + _getDefaultIcon() { + if (this._fileTypeEnum === this.Enums.FileType.EXTERNAL_DRIVE) + return this._gioMount.get_icon(); + + return super._getDefaultIcon(); + } + + + async eject(atWidget) { + if (!this._gioMount || this._ejectCancellable) + return; + + const parentWidget = atWidget ?? this._grid._window; + const mountOp = new Gtk.MountOperation(); + mountOp.set_parent(parentWidget); + this._ejectCancellable = new Gio.Cancellable(); + + try { + await this._gioMount.eject_with_operation( + Gio.MountUnmountFlags.NONE, + mountOp, + this._ejectCancellable + ); + } catch (e) { + // I cannot find the exact Gio Enum, Gio.MountOperationResult + // does not work. Shortcut :) + // logError(e, `Mount failed: ${e.domain} ${e.code}`); + if (!(e.domain === 195 && e.code === 30)) { + console.error( + e, + `Exception ejecting Volume ${ + this._getVisibleName() + ? this._getVisibleName() + : 'Volume icon' + }: ${e.message}` + ); + } + } finally { + this._ejectCancellable = null; + } + } + + async unmount(atWidget) { + if (!this._gioMount || this._umountCancellable) + return; + + const parentWidget = atWidget ?? this._grid._window; + const mountOp = new Gtk.MountOperation(); + mountOp.set_parent(parentWidget); + this._umountCancellable = new Gio.Cancellable(); + + try { + await this._gioMount.unmount_with_operation( + Gio.MountUnmountFlags.NONE, + mountOp, + this._umountCancellable + ); + } catch (e) { + // I cannot find the exact Gio Enum, Gio.MountOperationResult + // does not work. Shortcut :) + // logError(e, `Mount failed: ${e.domain} ${e.code}`); + if (!(e.domain === 195 && e.code === 30)) { + console.error( + e, + `Exception unmounting Volume ${ + this._getVisibleName() + ? this._getVisibleName() + : 'Volume icon' + }: ${e.message}` + ); + } + } finally { + this._umountCancellable = null; + } + } + + get canEject() { + if (this._gioMount) + return this._gioMount.can_eject(); + else + return false; + } + + get canUnmount() { + if (this._gioMount) + return this._gioMount.can_unmount(); + else + return false; + } +}; diff --git a/ding/app/widgetApi.js b/ding/app/widgetApi.js new file mode 100644 index 0000000..03744bf --- /dev/null +++ b/ding/app/widgetApi.js @@ -0,0 +1,644 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Gtk4 Port Copyright (C) 2022 - 2025 Sundeep Mediratta (smedius@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 . + */ + + +// widget-js-api.js +// Exports the script that gets injected into each WebView. + +const transparencyCSS = ` +/* Keep the page transparent without nuking widget element backgrounds */ +html, body { + background: transparent !important; + background-color: transparent !important; + background-image: none !important; +} +`; + +export const CSP_STRICT = ` +default-src 'none'; +base-uri 'none'; +object-src 'none'; +frame-ancestors 'none'; +form-action 'none'; + +script-src 'self' 'unsafe-inline'; +style-src 'self' 'unsafe-inline'; + +img-src 'self' data: blob:; +font-src 'self' data:; +media-src 'self' blob:; + +connect-src 'self' https: ; +navigate-to 'self'; +block-all-mixed-content; + +worker-src 'none'; +frame-src 'none'; +`; + +export const CSP_DEV = ` +default-src 'none'; +base-uri 'none'; +object-src 'none'; +frame-ancestors 'none'; +form-action 'none'; + +script-src 'self' 'unsafe-inline'; +style-src 'self' 'unsafe-inline'; + +img-src 'self' data: blob:; +font-src 'self' data:; +media-src 'self' blob:; + +connect-src + 'self' + https: + http: + http://localhost:* + ws://localhost:*; + +worker-src 'none'; +frame-src 'none'; +`; + +export const CSP_RELAXED = ` +default-src 'none'; +base-uri 'self'; +object-src 'none'; +frame-ancestors 'none'; + +script-src + 'self' + 'unsafe-inline' + https:; + +style-src + 'self' + 'unsafe-inline' + https:; + +img-src 'self' data: blob: https:; +font-src 'self' data: https:; +media-src 'self' blob: https:; + +connect-src + 'self' + https: + http: + ws: + wss:; + +worker-src blob:; +frame-src https:; +`; + +export const WIDGET_UNAVAILABLE_HTML = ` + + + + +
+
Widget unavailable
+
__REASON__
+
+ +`; + +export const WIDGET_API = +`(function() { + 'use strict'; + + // Avoid re-injecting if the page has already been initialized + if (window.ding) + return; + + try { + const style = document.createElement('style'); + style.id = 'ding-widget-background'; + style.textContent = \`${transparencyCSS}\`; + document.documentElement.insertAdjacentElement('afterbegin', style); + } catch (e) { + // Failing to inject style is non-fatal. + console.error('ding: failed to inject default style', e); + } + + // --------------------------------------------------------------------- + // Upward channel: widget -> host (via WebKit messageHandler) + // --------------------------------------------------------------------- + + function post(message) { + try { + if (!window.webkit || + !window.webkit.messageHandlers || + !window.webkit.messageHandlers.dingWidget) + return; + + window.webkit.messageHandlers.dingWidget.postMessage( + JSON.stringify(message) + ); + } catch (e) { + try { + console.error('ding: post failed', e); + } catch (_ignored) { + // ignore logging failures + } + } + } + + // --------------------------------------------------------------------- + // Small helper: query parameter parsing + // --------------------------------------------------------------------- + + function getQueryParam(qs, key) { + if (!qs || qs.length <= 1) + return null; + + if (qs.charAt(0) === '?') + qs = qs.substring(1); + + var parts = qs.split('&'); + for (var i = 0; i < parts.length; i++) { + var kv = parts[i].split('='); + if (kv.length === 2 && kv[0] === key) { + try { + return decodeURIComponent(kv[1]); + } catch (e) { + return kv[1]; + } + } + } + + return null; + } + + // --------------------------------------------------------------------- + // Config cache + configChanged (downward push) + // --------------------------------------------------------------------- + + var _configCache = {}; + var _configListeners = new Set(); + + function _cloneObject(obj) { + if (!obj || typeof obj !== 'object') + return {}; + var out = {}; + for (var k in obj) { + if (Object.prototype.hasOwnProperty.call(obj, k)) + out[k] = obj[k]; + } + return out; + } + + function _notifyConfigListeners(meta) { + var snapshot = _cloneObject(_configCache); + + _configListeners.forEach(function(cb) { + try { + cb(snapshot, meta || null); + } catch (e) { + try { + console.error('ding: configChanged listener failed', e); + } catch (_ignored) {} + } + }); + } + + function _setConfigCache(nextConfig, meta) { + if (!nextConfig || typeof nextConfig !== 'object') + nextConfig = {}; + + _configCache = _cloneObject(nextConfig); + _notifyConfigListeners(meta); + } + + function getConfigCached() { + return _cloneObject(_configCache); + } + + // --------------------------------------------------------------------- + // getConfig request/response plumbing + // --------------------------------------------------------------------- + + var pending = new Map(); + var msgCounter = 1; + var _backendPending = new Map(); + var _backendListeners = new Set(); + + // Host responds to getConfig by running: + // window.postMessage({ _dingInternal: true, requestId, config }, '*'); + window.addEventListener('message', function(event) { + var data = event.data; + if (!data || data._dingInternal !== true) + return; + + var type = data.type || null; + + // --- Backend first --- + if (type === 'backendEvent') { + _backendListeners.forEach(function(cb) { + try { + cb(data.name, data.payload); + } catch (_e) {} + }); + return; + } + + if (type === 'backendReply') { + var requestId = data.requestId; + if (requestId === undefined || requestId === null) + return; + + var pendingReq = _backendPending.get(requestId); + if (!pendingReq) + return; + + _backendPending.delete(requestId); + + if (data.ok) + pendingReq.resolve(data.result); + else + pendingReq.reject(data.error || { + code: 'E_BACKEND', + message: 'Backend request failed', + }); + + return; + } + + // --- Config plumbing (only for config message types) --- + var requestId = data.requestId || null; + var config = data.config; + + if (config && typeof config === 'object') { + _setConfigCache(config, { + reason: type === 'configChanged' + ? (data.reason || 'configChanged') + : 'getConfigReply', + sourceMode: data.sourceMode || null, + }); + } + + if (type === 'configChanged') + return; + + if (!requestId) + return; + + var resolver = pending.get(requestId); + if (!resolver) + return; + + pending.delete(requestId); + + try { + resolver(config || {}); + } catch (e) { + try { + console.error('ding: getConfig resolver failed', e); + } catch (_ignored) {} + } + }); + + // --------------------------------------------------------------------- + // Host state (downward channel) + // --------------------------------------------------------------------- + + var _hostState = { + editMode: false, + selected: false, + theme: 'light', + reducedMotion: false, + direction: 'ltr', + locale: (typeof navigator !== 'undefined' && navigator.language) ? + navigator.language : + 'en_US', + }; + + var _hostStateListeners = new Set(); + + // --------------------------------------------------------------------- + // Page-side debug flag: + // Host can flip this with: + // webView.evaluate_javascript("window.DING_DEBUG_HOST_STATE = true;", ...) + // --------------------------------------------------------------------- + window.DING_DEBUG_HOST_STATE = false; + + function _debugHostState(msg, data) { + if (!window.DING_DEBUG_HOST_STATE) + return; + + try { + console.log('ding[host-state]', msg, data); + } catch (_e) { + // ignore + } + } + + function _applyHostStateToDom() { + try { + var docEl = document.documentElement; + var body = document.body; + + if (!docEl || !body) + return; + + // Direction + docEl.dir = _hostState.direction || 'ltr'; + + // Theme + body.dataset.theme = _hostState.theme || 'light'; + + // Edit mode & selection + body.classList.toggle('ding-edit-mode', !!_hostState.editMode); + body.classList.toggle('ding-selected', !!_hostState.selected); + + // Reduced motion: + body.classList.toggle('ding-reduced-motion', !!_hostState.reducedMotion); + } catch (_e) { + // Don't let DOM sync failures break host-state updates + } + } + + function _cloneHostState() { + var out = {}; + for (var k in _hostState) { + if (Object.prototype.hasOwnProperty.call(_hostState, k)) + out[k] = _hostState[k]; + } + return out; + } + + function _notifyHostStateListeners() { + var snapshot = _cloneHostState(); + _debugHostState('notify', snapshot); + + _applyHostStateToDom() + + _hostStateListeners.forEach(function(cb) { + try { + cb(snapshot); + } catch (e) { + try { + console.error('ding: hostState listener failed', e); + } catch (_ignored) {} + } + }); + } + + function _setHostState(patch) { + if (!patch || typeof patch !== 'object') + return; + + _debugHostState('patch', patch); + + var changed = false; + for (var key in patch) { + if (!Object.prototype.hasOwnProperty.call(patch, key)) + continue; + + var value = patch[key]; + if (_hostState[key] !== value) { + _hostState[key] = value; + changed = true; + } + } + + if (changed) + _notifyHostStateListeners(); + } + + // --------------------------------------------------------------------- + // Instance ID derivation from URL query parameters + // --------------------------------------------------------------------- + + var initialInstanceId = null; + var initialMode = 'widget'; // default + + try { + var search = (window.location && window.location.search) || ''; + + var qmode = getQueryParam(search, 'dingMode'); + if (qmode === 'prefs' || qmode === 'widget') + initialMode = qmode; + + var qid = + getQueryParam(search, 'dingInstanceId') || + getQueryParam(search, 'widgetInstanceId') || + getQueryParam(search, 'instanceId'); + if (qid) + initialInstanceId = qid; + } catch (e) { + // ignore + } + + // --------------------------------------------------------------------- + // Public API: window.ding + // --------------------------------------------------------------------- + + window.ding = { + apiVersion: 1, + instanceId: initialInstanceId, + mode: initialMode, + + // Expose raw post() if widgets want it + post: post, + + getInstanceId: function() { + return this.instanceId; + }, + + // ----------------------------- + // Widget -> host helpers + // ----------------------------- + + log: function(message) { + post({ + type: 'log', + instanceId: this.instanceId, + message: String(message), + }); + }, + + saveConfig: function(config) { + if (!this.instanceId) + return; + + post({ + type: 'updateConfig', + instanceId: this.instanceId, + config: config || {}, + }); + }, + + getConfig: function() { + if (!this.instanceId) + return Promise.resolve(null); + + var requestId = msgCounter++; + return new Promise(function(resolve) { + pending.set(requestId, resolve); + post({ + type: 'getConfig', + instanceId: window.ding.instanceId, + requestId: requestId, + }); + }); + }, + + // Can return {} if the cache is not initialized yet + getConfigSync: function() { + return getConfigCached(); + }, + + // ----------------------------- + // Host -> widget helpers + // ----------------------------- + + /** + * Returns a shallow copy of the current host state: + * { + * editMode, selected, theme, visible, + * reducedMotion, direction, locale + * } + */ + getHostState: function() { + return _cloneHostState(); + }, + + /** + * Subscribe to host state changes. + * Returns an unsubscribe() function. + */ + onHostStateChanged: function(cb) { + if (typeof cb !== 'function') + return function() {}; + + _hostStateListeners.add(cb); + + // Immediately deliver current snapshot + try { + cb(_cloneHostState()); + } catch (e) { + try { + console.error('ding: hostState listener failed (initial)', e); + } catch (_ignored) {} + } + + return function() { + _hostStateListeners.delete(cb); + }; + }, + + onConfigChanged: function(cb) { + if (typeof cb !== 'function') + return function() {}; + + _configListeners.add(cb); + + try { + cb( + _cloneObject(_configCache), + { reason: 'initial', sourceMode: null } + ); + } catch (_e) {} + + // Return unsubscribe + return function() { + _configListeners.delete(cb); + }; + }, + + backendRequest: function(method, params) { + if (!this.instanceId) + return Promise.reject(new Error('No instanceId')); + + var requestId = msgCounter++; + + return new Promise(function(resolve, reject) { + _backendPending.set(requestId, { resolve, reject }); + post({ + type: 'backendRequest', + instanceId: window.ding.instanceId, + requestId: requestId, + method: method, + params: params || {}, + }); + }); + }, + + backendSend: function(name, payload) { + if (!this.instanceId) + return; + + post({ + type: 'backendSend', + instanceId: window.ding.instanceId, + name: name, + payload: payload || {}, + }); + }, + + onBackendEvent: function(cb) { + if (typeof cb !== 'function') + return function() {}; + + _backendListeners.add(cb); + return function() { + _backendListeners.delete(cb); + }; + }, + + // --------------------------------------------------------------------- + // INTERNAL: host-only entrypoint. The GJS side calls this via + // evaluate_javascript() to push patches into _hostState. + // --------------------------------------------------------------------- + + _setHostState: _setHostState, + }; + + (function() { + function doInitialDomSync() { + try { + _debugHostState('initial-dom-sync', _cloneHostState()); + _notifyHostStateListeners(); + } catch (_e) { + // Ignore; we don't want this to break the widget + } + } + + if (document.readyState === 'loading') { + // Body not ready yet; wait for DOMContentLoaded + document.addEventListener('DOMContentLoaded', function onReady() { + document.removeEventListener('DOMContentLoaded', onReady); + doInitialDomSync(); + }); + } else { + // DOM is already ready (e.g. script injected later) + doInitialDomSync(); + } + })(); + + // Notify the host that the widget API is ready and has an instanceId + try { + post({ + type: 'hostReady', + instanceId: initialInstanceId || null, + }); + } catch (_e) { + // ignore + } +})();`; diff --git a/ding/app/widgetManager.js b/ding/app/widgetManager.js new file mode 100644 index 0000000..b11cb53 --- /dev/null +++ b/ding/app/widgetManager.js @@ -0,0 +1,2260 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Gtk4 Port Copyright (C) 2022 - 2025 Sundeep Mediratta (smedius@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 . + */ + +import {Adw, Gio, GLib, Gtk} from '../dependencies/gi.js'; +import {_} from '../dependencies/gettext.js'; +import {WidgetRegistry} from '../dependencies/localFiles.js'; +import {HtmlWidgetHost, HtmlWidgetHostWithBackend} from '../dependencies/localFiles.js'; +import {WebWidgetContext} from '../dependencies/localFiles.js'; + +/** + * WidgetManager + * + * - Owned by DesktopManager. + * - Uses DesktopGrid/WidgetGrid for all geometry math. + * - Positions widgets inside each grid's `widgetContainer` (Gtk.Fixed). + * + * Coordinate model: + * - We store per-instance: + * * monitorIndex + * * normX, normY (0..1, normalized to grid.normalizedWidth/Height) + * * width, height (absolute pixels, widget-owned) + * - On layout changes, we rebuild a map of: + * monitorIndex -> { grid, widgetContainer } + * - To place an instance: + * localX = normX * grid.normalizedWidth + * localY = normY * grid.normalizedHeight + * widgetContainer.put(actor, localX, localY) + */ +export {WidgetManager}; + +const WIDGETS_STATE_SCHEMA_VERSION = 2; + +const WidgetManager = class { + constructor(desktopManager) { + this._desktopManager = desktopManager; + this.Enums = desktopManager.Enums; + this._preferences = desktopManager.Prefs; + this._desktopIconsUtil = desktopManager.DesktopIconsUtil; + this._widgetRegistry = new WidgetRegistry(this._desktopIconsUtil); + + // monitorIndex -> { grid, widgetContainer } + this._surfaces = new Map(); + + // instanceId -> { + // instanceId, + // widgetId, + // kind, + // monitorIndex, + // normX, + // normY, + // width, + // height, + // actor, + // config, + // } + this._instances = new Map(); + this._selectedWidget = null; + this._chrome = null; + this.closeButton = null; + this.prefsButton = null; + this._selectedInstanceId = null; + this._webWidgetContext = null; + + // When true, suppress emitting stateChanged events + this._suppressStateEvents = false; + this._loadStatePromise = null; + this._pendingLoadState = null; + + this._addActions(); + + // loadState is handled during startup and by Preferences; avoid + // overlapping loads during construction. + } + + clearFromGrids() { + for (const inst of this._instances.values()) { + const parent = inst.actor?.get_parent?.(); + if (parent?.remove) + parent.remove(inst.actor); + } + + for (const surface of this._surfaces.values()) + this._teardownSurface(surface); + + this._surfaces.clear(); + } + + stopWidgetDisplay() { + for (const surface of this._surfaces.values()) + surface.grid.lowerWidgetContainer(); + + this.clearFromGrids(); + + for (const inst of this._instances.values()) { + if (inst.host && typeof inst.host.destroy === 'function') + inst.host.destroy(); + + inst.host = null; + inst.actor = null; + } + + this._stopWebkitIfUnneeded(); + + this._stateChanged(); + } + + async startWidgetDisplay(desktops, params) { + await this.loadState( + this._preferences.widgetState + ); + + await this.applyLayoutChange(desktops, params); + } + + /** + * Called by DesktopManager from applyDesktopLayoutChange(). + * + * @param {Array} desktops - the same array WindowManager uses, + * containing DesktopGrid/WidgetGrid instances for each monitor. + * + * @param {object} changeInfo - layout change info: + * { + * redisplay: boolean, + * monitorschanged: boolean, + * gridschanged: boolean, + * } + */ + async applyLayoutChange(desktops, changeInfo) { + if (!changeInfo?.redisplay) + return; + + this._rebuildSurfacesFrom(desktops); + this._detachInstancesWithoutSurface(); + await this._reattachAllInstances(); + this._stopWebkitIfUnneeded(); + } + + handleWidgetContainerLayerChange(monitorIndex, onTop) { + const surface = this._surfaces.get(monitorIndex); + if (!surface) + return; + + this._updateAddWidgetButtonVisibility(surface, onTop); + this._updateGridToggleButtonVisibility(surface, onTop); + this._raiseAddButton(surface); + this._raiseGridToggleButton(surface); + this._updateWidgetLayerChange(monitorIndex, onTop); + + if (!onTop) { + if (surface.gridToggleButton) { + surface.gridToggleButton.set_active(false); + } + + surface.grid.widgetGridEnabled = false; + surface.grid.updateOverlay(); + } + } + + // ===================================================================== + // Public instance API + // ===================================================================== + + /** + * High-level helper: create a new instance for a widget from the registry. + * + * @param {string} widgetId - ID from WidgetRegistry (usually folder name). + * @param {object} opts + * { + * monitorIndex?: number, // optional, defaults to first available + * x?: number, // local coords in widgetContainer space + * y?: number, + * width?: number, // override defaultWidth/defaultHeight + * height?: number, + * } + * + * Returns the created instance object or null. + */ + async createInstanceForWidget(widgetId, opts = {}) { + if (!this._preferences.showDesktopWidgets) + return null; + + if (!widgetId) { + console.error('createInstanceForWidget: missing widgetId'); + return null; + } + + if (!this._widgetRegistry) { + console.error('createInstanceForWidget: widgetRegistry missing'); + return null; + } + + // 1. Load descriptor (or create a fallback one) + let descriptor = null; + try { + descriptor = await this._widgetRegistry.getDescriptor(widgetId); + } catch (e) { + console.error(`Descriptor load failed for ${widgetId}:`, e); + } + + let kind = 'html'; + if (!descriptor) { + console.warn( + `createInstanceForWidget: no descriptor for ${widgetId},` + + ' using fallback html kind' + ); + } else { + kind = descriptor.kind || 'html'; + } + + // 2. Choose monitor index: caller hint or first available surface + let monitorIndex = opts.monitorIndex; + if (monitorIndex === undefined || monitorIndex === null) { + const iter = this._surfaces.keys().next(); + monitorIndex = !iter.done ? iter.value : 0; + } + + const surface = this._surfaces.get(monitorIndex); + if (!surface) { + console.error( + `createInstanceForWidget: invalid monitorIndex ${monitorIndex}` + ); + return null; + } + + const {grid} = surface; + + // 3. Size from opts or registry defaults + const width = opts.width ?? + descriptor?.defaultWidth ?? + 200; + + const height = opts.height ?? + descriptor?.defaultHeight ?? + 150; + + // 4. Compute placement + let x = opts.x; + let y = opts.y; + + if (x === undefined || y === undefined) { + const wNorm = grid.normalizedWidth; + const hNorm = grid.normalizedHeight; + + x = Math.max(0, (wNorm - width) / 2); + y = Math.max(0, (hNorm - height) / 3); + } + + // 5. Create the actual instance (generates UUID, attaches actor) + const instance = this._createInstance( + widgetId, + monitorIndex, + x, + y, + width, + height, + descriptor?.defaultConfig ?? {}, + kind, + descriptor + ); + + if (!instance) + return null; + + const created = await this._ensureInstanceActor(instance); + + if (!created) + return null; + + this._positionInstanceActor(instance); + + // Persist creation + this._stateChanged(); + + return instance; + } + + removeInstance(instanceId) { + this._removeActor(instanceId); + this._stateChanged(); + } + + deleteSelectedInstance() { + if (!this._selectedInstanceId) + return false; + + const toRemove = this._selectedInstanceId; + + // Clear selection first so CSS + chrome are detached. + this.selectInstance(null); + this.removeInstance(toRemove); + + this._stopWebkitIfUnneeded(); + + return true; + } + + setInstanceFrame(instanceId, x, y, width = null, height = null) { + const inst = this._instances.get(instanceId); + if (!inst) + return; + + const surface = this._surfaces.get(inst.monitorIndex); + if (!surface) + return; + + const {grid} = surface; + + const [normX, normY] = grid.getNormalizedCoordinates(x, y); + + const EPSILON = 1e-4; + const normXChanged = Math.abs(inst.normX - normX) > EPSILON; + const normYChanged = Math.abs(inst.normY - normY) > EPSILON; + let sizeChanged = false; + + if (width !== null && width !== inst.width) { + inst.width = width; + sizeChanged = true; + } + + if (height !== null && height !== inst.height) { + inst.height = height; + sizeChanged = true; + } + + // Don't reposition if nothing changed, to avoid unnecessary state + // updates that write the json file with new postion triggering UI + // to refresh. + if (!normXChanged && !normYChanged && !sizeChanged) + return; + + inst.normX = normX; + inst.normY = normY; + + this._positionInstanceActor(inst); + } + + /* + * Compute the current absolute frame for an instance based on + * stored normX/normY + width/height and the grid's normalized size. + * + * Returns coordinates in the local coordinate space of the + * widgetContainer. + * + */ + getInstanceFrame(instanceId) { + const inst = this._instances.get(instanceId); + if (!inst) + return null; + + const surface = this._surfaces.get(inst.monitorIndex); + if (!surface) { + return { + x: 0, + y: 0, + width: inst.width, + height: inst.height, + }; + } + + const {grid} = surface; + + let [x, y] = grid.setNormalizedCoordinates(inst.normX, inst.normY); + + const wNorm = grid.normalizedWidth; + const hNorm = grid.normalizedHeight; + + const w = inst.width; + const h = inst.height; + + // Clamp to stay inside the grid's usable area + let clamped = false; + if (wNorm > 0 && w <= wNorm) { + if (x + w > wNorm) { + x = wNorm - w; + clamped = true; + } + if (x < 0) { + x = 0; + clamped = true; + } + } + + if (hNorm > 0 && h <= hNorm) { + if (y + h > hNorm) { + y = hNorm - h; + clamped = true; + } + if (y < 0) { + y = 0; + clamped = true; + } + } + + return {x, y, width: w, height: h, clamped}; + } + + get instances() { + return this._instances; + } + + getInstance(instanceId) { + return this._instances.get(instanceId) || null; + } + + getSelectedInstanceId() { + return this._selectedInstanceId; + } + + clearSelectedInstance() { + const oldInst = this._instances.get(this._selectedInstanceId); + + if (oldInst?.actor) { + const ctx = oldInst.actor.get_style_context(); + ctx.remove_class('ding-widget-selected'); + } + + this._selectedInstanceId = null; + this._detachChrome(); + this._updateWidgetsSelectionState(); + } + + selectInstance(instanceId) { + if (this._selectedInstanceId && + this._selectedInstanceId !== instanceId + ) { + const oldInst = this._instances.get(this._selectedInstanceId); + if (oldInst?.actor) { + const ctx = oldInst.actor.get_style_context(); + ctx.remove_class('ding-widget-selected'); + this._webWidgetContext?.closePreferencesIfAny(); + } + } + + this._selectedInstanceId = instanceId || null; + + if (!instanceId) { + this._detachChrome(); + this._updateWidgetsSelectionState(); + this._webWidgetContext?.closePreferencesIfAny(); + return; + } + + const inst = this._instances.get(instanceId); + if (!inst?.actor || inst._isAddButton || inst._isGridToggleButton) { + this._selectedInstanceId = null; + this._detachChrome(); + this._updateWidgetsSelectionState(); + this._webWidgetContext?.closePreferencesForInstance(); + return; + } + + const ctx = inst.actor.get_style_context(); + ctx.add_class('ding-widget-selected'); + + this._raiseInstance(inst); + + if (typeof inst.actor.grab_focus === 'function') + inst.actor.grab_focus(); + + this._ensureChrome(); + this._attachChromeToInstance(inst); + this._updateWidgetsSelectionState(); + } + + hideSelectionChromeDuringDrag() { + if (this._chrome) { + for (const btn of this._chrome) + btn.hide(); + } + + if (this._selectedInstanceId) { + const inst = this._instances.get(this._selectedInstanceId); + if (inst?.actor) { + const ctx = inst.actor.get_style_context(); + ctx.remove_class('ding-widget-selected'); + } + } + } + + updateSelectionChromePositionFor(instanceId) { + if (!instanceId || instanceId !== this._selectedInstanceId) + return; + + const inst = this._instances.get(instanceId); + if (!inst) + return; + + const ctx = inst.actor.get_style_context(); + ctx.add_class('ding-widget-selected'); + + this._ensureChrome(); + this._attachChromeToInstance(inst); + } + + async listAvailableWidgets() { + if (!this._widgetRegistry) + return []; + + const widgets = await this._widgetRegistry.listWidgets().catch(e => { + console.error('WidgetManager: listAvailableWidgets failed:', e); + return []; + }); + + return widgets; + } + + onThemeChanged() { + const theme = this._preferences.darkmode ? 'dark' : 'light'; + + for (const inst of this._instances.values()) + this._updateTheme(inst, theme); + } + + onAnimationChanged() { + const reducedMotion = !this._preferences.globalAnimations; + + for (const inst of this._instances.values()) + this._updateAnimation(inst, reducedMotion); + } + + // ===================================================================== + // Widget state persistence API + // ===================================================================== + + /* + * Load widget instances from a JSON-compatible object. + * + * Schema: + * { + * version: 2, + * instances: [ + * { + * instanceId, widgetId, kind, + * monitorIndex, normX, normY, + * width, height, + * config: { ... } // author-defined fields + * prefsUri: string|null, + * hasPreferences: boolean, + * hasBackend: boolean, + * webConsent: boolean|null, + * backendConsent: boolean|null, + * }, + * ... + * ] + * } + * + * + * @param {object} state - JSON-compatible object as described above. + * + * @returns {void} + * + * It is called by Preferences when it reads the saved state from disk. + * as well as by DesktopManager when it starts as well from this + * constructor. + * + * It is also called by Preferences when the user changes widget state. + * + * As the state read from disk is asynchronous, this method may be called + * before the widget registry is loaded, with null, so we need to handle + * that case gracefully. + * + * Method is idempotent; it will not remove instances that are not in the + * input state, and it will not add instances that are already present. + * + * It also has to deal with null, undefined, or missing fields gracefully. + */ + async loadState(state) { + if (this._loadStatePromise) { + this._pendingLoadState = state; + return this._loadStatePromise; + } + + this._loadStatePromise = this._loadStateInner(state); + + try { + await this._loadStatePromise; + } finally { + this._loadStatePromise = null; + if (this._pendingLoadState) { + const pending = this._pendingLoadState; + this._pendingLoadState = null; + await this.loadState(pending); + } + } + } + + async _loadStateInner(state) { + if (!state || typeof state !== 'object') + return; + + const schemaVersion = + Number.isFinite(state.version) ? state.version : 1; + + if (schemaVersion < WIDGETS_STATE_SCHEMA_VERSION) { + console.warn( + `WidgetManager loadState: state version ${schemaVersion} ` + + `(current ${WIDGETS_STATE_SCHEMA_VERSION}); migrating` + ); + state = await this._migrateToCurrentVersion(state); + } + + + if (!Array.isArray(state.instances)) + return; + + const prevSelection = this._selectedInstanceId; + + // Avoid emitting stateChanged while rebuilding from persisted state. + // Only suppress around positioning, so we don't block saves for long + // async operations (e.g., consent prompts). + const previousSuppressionState = this._suppressStateEvents; + + try { + const seen = new Set(); + + for (const instData of state.instances) { + if (!instData.instanceId || !instData.widgetId) + continue; + + try { + let instance = this._instances.get(instData.instanceId); + + if (instance) { + instance.widgetId = instData.widgetId; + instance.monitorIndex = instData.monitorIndex ?? 0; + instance.kind = instData.kind ?? 'html'; + instance.normX = instData.normX ?? 0; + instance.normY = instData.normY ?? 0; + instance.width = instData.width ?? 200; + instance.height = instData.height ?? 150; + instance.config = instData.config ?? {}; + instance.prefsUri = instData.prefsUri ?? null; + instance.hasPreferences = + instData.hasPreferences ?? !!instance.prefsUri; + instance.hasBackend = instData.hasBackend; + instance.webConsent = instData.webConsent ?? null; + instance.backendConsent = + instData.backendConsent ?? null; + } else { + instance = { + instanceId: instData.instanceId, + widgetId: instData.widgetId, + monitorIndex: instData.monitorIndex ?? 0, + kind: instData.kind ?? 'html', + normX: instData.normX ?? 0, + normY: instData.normY ?? 0, + width: instData.width ?? 200, + height: instData.height ?? 150, + actor: null, + config: instData.config ?? {}, + prefsUri: instData.prefsUri ?? null, + hasPreferences: + instData.hasPreferences ?? !!instData.prefsUri, + hasBackend: instData.hasBackend ?? false, + webConsent: instData.webConsent ?? null, + backendConsent: instData.backendConsent ?? null, + }; + + this._instances.set(instance.instanceId, instance); + } + + seen.add(instance.instanceId); + + const surface = this._surfaces.get(instance.monitorIndex); + if (surface) { + // eslint-disable-next-line no-await-in-loop + const created = + await this._ensureInstanceActor(instance); + + if (!created) + continue; + + const prev = this._suppressStateEvents; + this._suppressStateEvents = true; + this._positionInstanceActor(instance); + this._suppressStateEvents = prev; + } + } catch (e) { + console.error( + 'WidgetManager loadState failed for instance:', + { + instanceId: instData.instanceId, + widgetId: instData.widgetId, + monitorIndex: instData.monitorIndex, + kind: instData.kind, + }, + e + ); + } + } + + for (const instanceId of [...this._instances.keys()]) { + const instance = this._instances.get(instanceId); + if (instance?._isAddButton || instance?._isGridToggleButton) + continue; + + if (seen.has(instanceId)) + continue; + + this._removeActor(instanceId); + } + + if (prevSelection && this._instances.has(prevSelection)) + this.selectInstance(prevSelection); + else + this.selectInstance(null); + } catch (e) { + console.error('WidgetManager loadState failed:', e); + } finally { + this._suppressStateEvents = previousSuppressionState; + } + } + + updateInstanceConfig(instanceId, newConfig) { + const inst = this._instances.get(instanceId); + if (!inst) + return; + + inst.config = newConfig; + this._stateChanged(); + } + + /** + * Notify Preferences that widget state has changed. + * Triggers async write to $XDG_DATA_HOME//widgets.json + */ + _stateChanged() { + if (this._suppressStateEvents || !this._preferences) + return; + + const stateObj = this.exportState(); + this._preferences.widgetState = stateObj; + } + + /** + * Compute a per-instance Z index from the current GTK child order of each + * widgetContainer. Lower index = deeper, higher index = closer to front. + * + * This does not mutate any internal state; it only observes the widget + * hierarchy. Add buttons and non-widget actors are skipped. + * + * @returns {Map} instanceId -> zIndex + */ + _computeZIndexByInstanceId() { + const zIndexByInstanceId = new Map(); + + for (const surface of this._surfaces.values()) { + const widgetContainer = surface.widgetContainer; + if (!widgetContainer || + typeof widgetContainer.get_first_child !== 'function') + continue; + + let child = widgetContainer.get_first_child(); + let i = 0; + + while (child) { + const instanceId = child.widgetInstanceId; + if (instanceId) { + const inst = this._instances.get(instanceId); + if (inst && !inst._isAddButton && !inst._isGridToggleButton) { + if (!zIndexByInstanceId.has(instanceId)) + zIndexByInstanceId.set(instanceId, i); + } + } + + if (!child.get_next_sibling) + break; + + child = child.get_next_sibling(); + i++; + } + } + + return zIndexByInstanceId; + } + + /** + * Return a list of content widget instances sorted for export: + * 1) By monitorIndex (to keep per-monitor grouping stable). + * 2) By stacking index within that monitor, derived from GTK. + * + * This does not change the instances or maps; it only sorts a local array. + * + * @param {Map} zIndexByInstanceId + * @returns {Array} sorted instance objects + */ + _sortedInstancesForExport(zIndexByInstanceId) { + const instances = []; + + for (const inst of this._instances.values()) { + if (inst._isAddButton || inst._isGridToggleButton) + continue; + + instances.push(inst); + } + + instances.sort((a, b) => { + // First group by monitorIndex + const ma = a.monitorIndex ?? 0; + const mb = b.monitorIndex ?? 0; + + if (ma !== mb) + return ma - mb; + + // Then by z-index within that monitor, derived from GTK + const za = zIndexByInstanceId.has(a.instanceId) + ? zIndexByInstanceId.get(a.instanceId) + : -1; + const zb = zIndexByInstanceId.has(b.instanceId) + ? zIndexByInstanceId.get(b.instanceId) + : -1; + + return za - zb; + }); + + return instances; + } + + /** + * Export the full current widget state as a JSON-compatible object. + * + * The saved schema is identical to loadState(): + * { + * version: 1, + * instances: [ + * { instanceId, widgetId, kind, monitorIndex, + * normX, normY, width, height, config } + * ] + * } + * */ + exportState() { + const zIndexByInstanceId = this._computeZIndexByInstanceId(); + const sortedInstances = + this._sortedInstancesForExport(zIndexByInstanceId); + + const out = { + version: WIDGETS_STATE_SCHEMA_VERSION, + instances: [], + }; + + for (const inst of sortedInstances) { + out.instances.push({ + instanceId: inst.instanceId, + widgetId: inst.widgetId, + monitorIndex: inst.monitorIndex, + kind: inst.kind, + normX: inst.normX, + normY: inst.normY, + width: inst.width, + height: inst.height, + config: inst.config ?? {}, + prefsUri: inst.prefsUri ?? null, + hasPreferences: !!inst.hasPreferences, + hasBackend: !!inst.hasBackend, + webConsent: inst.webConsent ?? null, + backendConsent: inst.backendConsent ?? null, + }); + } + + return out; + } + + async _migrateToCurrentVersion(state) { + if (!state || typeof state !== 'object') + return {version: WIDGETS_STATE_SCHEMA_VERSION, instances: []}; + + const schemaVersion = + Number.isFinite(state.version) ? state.version : 1; + + if (!Array.isArray(state.instances)) + state.instances = []; + + let migrated = false; + + if (schemaVersion < 2) { + // v1 -> v2: instances gain hasBackend. + // Compute it once from the widget manifest (descriptor) and persist. + // Schema v2+: backend capability is stored per instance (hasBackend) + // and is resolved once at creation or migration time. + + for (const instData of state.instances) { + if (!instData || typeof instData !== 'object') + continue; + + let hasBackend = false; + + try { + // eslint-disable-next-line no-await-in-loop + const desc = await this._widgetRegistry.getDescriptor( + instData.widgetId + ); + + hasBackend = !!desc?.hasBackend; + } catch (e) { + // If registry lookup fails, default false (safe). + hasBackend = false; + } + + instData.hasBackend = hasBackend; + migrated = true; + } + + state.version = 2; + migrated = true; + } + + if (migrated && this._preferences) { + // Persist the migrated file state as-is (do NOT call exportState() here). + this._preferences.widgetState = state; + } + + return state; + } + + + // ===================================================================== + // Internal helpers + // ===================================================================== + _createInstance(widgetId, monitorIndex, x, y, width, height, + config = {}, kind, descriptor = null) { + const surface = this._surfaces.get(monitorIndex); + if (!surface) { + console.error( + `WidgetManager.createInstance: + unknown monitorIndex ${monitorIndex}` + ); + return null; + } + + const {grid} = surface; + + // Convert local coords to normalized using existing grid plumbing. + // This uses normalizedWidth/Height internally. + const [normX, normY] = grid.getNormalizedCoordinates(x, y); + + const instanceId = GLib.uuid_string_random(); + + const instance = { + instanceId, + widgetId, + monitorIndex, + normX, + normY, + width, + height, + actor: null, + config, + kind, + hasBackend: descriptor?.hasBackend ?? !!descriptor?.backend ?? false, + prefsUri: descriptor?.prefs ?? null, + hasPreferences: !!descriptor?.prefs, + }; + + this._instances.set(instanceId, instance); + return instance; + } + + _rebuildSurfacesFrom(desktops) { + const existingAddButtons = new Map(); + const existingGridToggleButtons = new Map(); + for (const inst of this._instances.values()) { + if (inst._isAddButton) + existingAddButtons.set(inst.monitorIndex, inst); + else if (inst._isGridToggleButton) + existingGridToggleButtons.set(inst.monitorIndex, inst); + } + + for (const surface of this._surfaces.values()) + this._teardownSurface(surface); + + this._surfaces.clear(); + + for (const grid of desktops) { + if (!grid) + continue; + + const monitorIndex = grid.monitorIndex; + if (monitorIndex === undefined || monitorIndex === null) + continue; + + const widgetContainer = grid.widgetContainer; + if (!widgetContainer) { + console.error( + `WidgetManager: grid for monitorIndex ${monitorIndex + } is missing widgetContainer` + ); + continue; + } + + const surface = { + grid, + widgetContainer, + monitorIndex, + addButton: null, + gridToggleButton: null, + }; + + this._surfaces.set(monitorIndex, surface); + + const existingAddInst = existingAddButtons.get(monitorIndex); + this._ensureAddWidgetButton(surface, existingAddInst); + const existingGridToggleInst = + existingGridToggleButtons.get(monitorIndex); + this._ensureGridToggleButton(surface, existingGridToggleInst); + } + } + + _teardownSurface(surface) { + if (!surface) + return; + + if (surface.addButton) { + const parent = surface.addButton.get_parent?.(); + if (parent?.remove) + parent.remove(surface.addButton); + + surface.addButton = null; + } + + const addButtonInstanceId = + this._getAddButtonInstanceId(surface.monitorIndex); + const addInst = addButtonInstanceId + ? this._instances.get(addButtonInstanceId) + : null; + if (addInst?._isAddButton) + addInst.actor = null; + else if (addButtonInstanceId) + this._instances.delete(addButtonInstanceId); + + if (surface.gridToggleButton) { + const parent = surface.gridToggleButton.get_parent?.(); + if (parent?.remove) + parent.remove(surface.gridToggleButton); + + surface.gridToggleButton = null; + } + + const gridToggleButtonInstanceId = + this._getGridToggleButtonInstanceId(surface.monitorIndex); + const gridToggleInst = gridToggleButtonInstanceId + ? this._instances.get(gridToggleButtonInstanceId) + : null; + if (gridToggleInst?._isGridToggleButton) + gridToggleInst.actor = null; + else if (gridToggleButtonInstanceId) + this._instances.delete(gridToggleButtonInstanceId); + } + + _getAddButtonInstanceId(monitorIndex) { + if (monitorIndex === undefined || monitorIndex === null) + return null; + return `__ding-add-button-${monitorIndex}`; + } + + _getGridToggleButtonInstanceId(monitorIndex) { + if (monitorIndex === undefined || monitorIndex === null) + return null; + return `__ding-widget-grid-toggle-button-${monitorIndex}`; + } + + _ensureAddWidgetButton(surface, existingInst = null) { + if (!surface?.widgetContainer) + return; + + const instanceId = this._getAddButtonInstanceId(surface.monitorIndex); + + if (surface.addButton) { + this._raiseAddButton(surface); + return; + } + + const button = new Gtk.Button(); + button.set_name('ding-widget-add-button'); + button.set_can_focus(false); + button.set_focus_on_click(false); + button.set_tooltip_text(_('Add Widget')); + button.connect( + 'clicked', + () => this.openAddWidgetDialog( + null, + surface.monitorIndex + ).catch(logError) + ); + + const icon = Gtk.Image.new_from_icon_name('list-add-symbolic'); + button.set_child(icon); + + button.widgetInstanceId = instanceId; + + surface.widgetContainer.put(button, 0, 0); + surface.addButton = button; + + const inst = existingInst ?? { + instanceId, + widgetId: '__ding-add-button', + monitorIndex: surface.monitorIndex, + kind: 'chrome', + normX: 0, + normY: 0, + width: 48, + height: 48, + actor: button, + config: {}, + _isAddButton: true, + }; + + inst.actor = button; + inst.monitorIndex = surface.monitorIndex; + this._instances.set(instanceId, inst); + + if (!existingInst) { + const [defaultX, defaultY] = + this._getDefaultAddButtonPosition(surface, inst); + + this.setInstanceFrame(instanceId, defaultX, defaultY, inst.width, + inst.height + ); + } else { + this._positionInstanceActor(inst); + } + this._updateAddWidgetButtonVisibility(surface); + this._raiseAddButton(surface); + } + + _ensureGridToggleButton(surface, existingInst = null) { + if (!surface?.widgetContainer) + return; + + const instanceId = this._getGridToggleButtonInstanceId(surface.monitorIndex); + + if (surface.gridToggleButton) { + this._raiseGridToggleButton(surface); + return; + } + + const gridToggleButton = new Gtk.ToggleButton(); + gridToggleButton.set_name('ding-widget-grid-toggle-button'); + gridToggleButton.set_can_focus(false); + gridToggleButton.set_focus_on_click(false); + gridToggleButton.set_tooltip_text(_('Toggle Widget Grid')); + + const gridIcon = Gtk.Image.new_from_icon_name('view-grid-symbolic'); + gridToggleButton.set_child(gridIcon); + gridToggleButton.set_active(false); + + gridToggleButton.widgetInstanceId = instanceId; + + gridToggleButton.connect('toggled', (btn) => { + surface.grid.widgetGridEnabled = btn.get_active(); + surface.grid.updateOverlay(); + }); + + surface.widgetContainer.put(gridToggleButton, 0, 0); + surface.gridToggleButton = gridToggleButton; + + const inst = existingInst ?? { + instanceId, + widgetId: '__ding-widget-grid-toggle-button', + monitorIndex: surface.monitorIndex, + kind: 'chrome', + normX: 0, + normY: 0, + width: 48, + height: 48, + actor: gridToggleButton, + config: {}, + _isGridToggleButton: true, + }; + inst.actor = gridToggleButton; + inst.monitorIndex = surface.monitorIndex; + this._instances.set(instanceId, inst); + + if (!existingInst) { + const [defaultX, defaultY] = + this._getDefaultGridToggleButtonPosition(surface, inst); + + this.setInstanceFrame(instanceId, defaultX, defaultY, inst.width, + inst.height + ); + } else { + this._positionInstanceActor(inst); + } + + this._updateGridToggleButtonVisibility(surface); + this._raiseGridToggleButton(surface); + } + + _updateAddWidgetButtonVisibility(surface, forcedState = null) { + if (!surface?.addButton) + return; + + const shouldShow = typeof forcedState === 'boolean' + ? forcedState + : Boolean(surface.grid?.isWidgetContainerOnTop?.()); + + surface.addButton.set_visible(shouldShow); + surface.addButton.set_sensitive(shouldShow); + } + + _updateGridToggleButtonVisibility(surface, forcedState = null) { + if (!surface?.gridToggleButton) + return; + + const shouldShow = typeof forcedState === 'boolean' + ? forcedState + : Boolean(surface.grid?.isWidgetContainerOnTop?.()); + + surface.gridToggleButton.set_visible(shouldShow); + surface.gridToggleButton.set_sensitive(shouldShow); + } + + _raiseAddButton(surface) { + if (!surface?.addButton || !surface.widgetContainer) + return; + + const parent = surface.addButton.get_parent?.(); + if (!parent || parent !== surface.widgetContainer) + return; + + try { + surface.addButton.insert_before(parent, null); + } catch (e) { + console.error('WidgetManager: failed to raise add button:', e); + } + } + + _raiseGridToggleButton(surface) { + if (!surface?.gridToggleButton || !surface.widgetContainer) + return; + + const parent = surface.gridToggleButton.get_parent?.(); + if (!parent || parent !== surface.widgetContainer) + return; + + try { + surface.gridToggleButton.insert_before(parent, null); + } catch (e) { + console + .error('WidgetManager: failed to raise grid toggle button:', e); + } + } + + _getDefaultAddButtonPosition(surface, inst) { + const grid = surface.grid; + if (!grid) + return [0, 0]; + + const width = grid.normalizedWidth; + const height = grid.normalizedHeight; + const buttonWidth = inst?.width ?? 48; + const buttonHeight = inst?.height ?? 48; + const margin = 32; + + const direction = + surface.widgetContainer.get_direction?.() ?? Gtk.TextDirection.NONE; + const isRTL = direction === Gtk.TextDirection.RTL; + + const maxX = Math.max(0, width - buttonWidth); + const desiredX = isRTL + ? width - buttonWidth - margin + : margin; + const x = Math.max(0, Math.min(desiredX, maxX)); + + const maxY = Math.max(0, height - buttonHeight); + const desiredY = height - buttonHeight - margin; + const y = Math.max(0, Math.min(desiredY, maxY)); + + return [x, y]; + } + + _getDefaultGridToggleButtonPosition(surface, inst) { + const grid = surface.grid; + if (!grid) + return [0, 0]; + + const addButtonInstanceId = + this._getAddButtonInstanceId(surface.monitorIndex); + + const addButtonInst = addButtonInstanceId + ? this._instances.get(addButtonInstanceId) + : null; + + if (!addButtonInst) { + return [0, 0]; + } + + const width = grid.normalizedWidth; + const buttonWidth = inst?.width ?? 48; + const buttonHeight = inst?.height ?? 48; + const spacing = 16; + + const addButtonX = addButtonInst.normX * grid.normalizedWidth; + const addButtonY = addButtonInst.normY * grid.normalizedHeight; + + const x = Math.max(0, Math.min(addButtonX, width - buttonWidth)); + const desiredY = addButtonY - buttonHeight - spacing; + const y = Math.max(0, desiredY); + + return [x, y]; + } + + _detachInstancesWithoutSurface() { + for (const inst of this._instances.values()) { + if (inst?._isAddButton || inst?._isGridToggleButton) + continue; + + const surface = this._surfaces.get(inst.monitorIndex); + if (surface) + continue; + + const parent = inst.actor?.get_parent?.(); + if (parent?.remove) + parent.remove(inst.actor); + + if (inst.host && typeof inst.host.destroy === 'function') + inst.host.destroy(); + + inst.actor = null; + inst.host = null; + } + } + + async _reattachAllInstances() { + if (!this._preferences.showDesktopWidgets) + return; + + for (const inst of this._instances.values()) { + const surface = this._surfaces.get(inst.monitorIndex); + + if (!surface) + continue; + + // eslint-disable-next-line no-await-in-loop + const created = await this._ensureInstanceActor(inst); + + if (!created) + continue; + + this._positionInstanceActor(inst); + + // Use optional chaining because requestRender() + // currently exists only on HTML hosts. + inst.host?.requestRender?.().catch(e => logError(e)); + } + } + + async _ensureInstanceActor(inst) { + if (!this._preferences.showDesktopWidgets) + return false; + + if (inst.actor) + return true; + + const created = await this._createActorForInstance(inst); + + if (!created) + return false; + + inst.actor.widgetInstanceId = inst.instanceId; + return true; + } + + async _createActorForInstance(inst) { + const frame = this.getInstanceFrame(inst.instanceId); + if (!frame) + return false; + + // this can be re-entrant for html widgets due to consent checks + if (inst.actor) + return true; + + let actor = null; + + if (inst.kind === 'html') { + const proceed = await this._checkConsentForInstance(inst); + + if (!proceed) + return false; + + // this can be re-entrant for html widgets due to consent checks + if (inst.actor) + return true; + + const webCtx = this._ensureWebWidgetContext(); + const HostClass = + inst.hasBackend ? HtmlWidgetHostWithBackend : HtmlWidgetHost; + + const host = new HostClass({ + instanceId: inst.instanceId, + widgetId: inst.widgetId, + frameRect: frame, + widgetRegistry: this._widgetRegistry, + webContext: webCtx, + }); + + inst.host = host; + actor = host.actor; + } else if (inst.kind === 'gtk') { + actor = this._createGtkActorForInstance(inst, frame); + } else { + console.error( + `WidgetManager: unknown widget kind for ${inst.widgetId}` + ); + } + + if (!actor) + return false; + + actor.set_name('ding-widget'); + actor.set_overflow(Gtk.Overflow.HIDDEN); + actor.set_focusable(true); + + actor.instanceId = inst.instanceId; + inst.actor = actor; + return true; + } + + async _checkConsentForInstance(inst) { + if (inst._consentInProgress) + return false; + + inst._consentInProgress = true; + + try { + let updateState = false; + let removeInstance = false; + + if (inst.webConsent !== true) { + updateState = true; + + const ok = await this._askWebConsent(inst); + + if (!ok) + removeInstance = true; + else + inst.webConsent = true; + } + + if (inst.hasBackend && + inst.backendConsent !== true && + !removeInstance + ) { + updateState = true; + + const ok = await this._askBackendConsent(inst); + + if (!ok) + removeInstance = true; + else + inst.backendConsent = true; + } + + if (removeInstance) + this._removeActor(inst.instanceId); + + // IMPORTANT: during loadState writes are suppressed, so if we changed + // consent OR removed an instance, force a state write once. + const stateDirty = updateState || removeInstance; + + if (stateDirty) { + const previousSuppressionState = this._suppressStateEvents; + this._suppressStateEvents = false; + this._stateChanged(); + this._suppressStateEvents = previousSuppressionState; + } + + return !removeInstance; + } catch (e) { + console.error('WidgetManager: _checkConsentForInstance failed:', e); + return false; + } finally { + inst._consentInProgress = false; + } + } + + _removeActor(instanceId) { + const inst = this._instances.get(instanceId); + if (!inst) + return; + + const parent = inst.actor?.get_parent?.(); + if (parent?.remove) + parent.remove(inst.actor); + + if (inst.host && typeof inst.host.destroy === 'function') + inst.host.destroy(); + + if (typeof inst.actor?.destroy === 'function') + inst.actor.destroy(); + + this._instances.delete(instanceId); + inst.actor = null; + } + + _positionInstanceActor(inst) { + if (!inst.actor) + return; + + const surface = this._surfaces.get(inst.monitorIndex); + if (!surface) + return; + + const frame = this.getInstanceFrame(inst.instanceId); + if (!frame) + return; + + const {widgetContainer} = surface; + const {x, y} = frame; + const isMove = !!inst.actor.get_parent(); + + if (frame.clamped || isMove) { + const [normX, normY] = surface.grid.getNormalizedCoordinates(x, y); + const EPSILON = 1e-4; + + if (Math.abs(inst.normX - normX) > EPSILON || + Math.abs(inst.normY - normY) > EPSILON) { + inst.normX = normX; + inst.normY = normY; + } + + this._stateChanged(); + } + + if (isMove) + widgetContainer.move(inst.actor, x, y); + else + widgetContainer.put(inst.actor, x, y); + } + + _ensureChrome() { + if (this._chrome) + return; + + this.closeButton = new Gtk.Button(); + this.closeButton.set_name('ding-widget-close-button'); + this.closeButton.set_can_focus(false); + this.closeButton.set_focus_on_click(false); + + const img = Gtk.Image.new_from_icon_name('window-close-symbolic'); + this.closeButton.set_child(img); + + this.closeButton.connect('clicked', + this.deleteSelectedInstance.bind(this) + ); + + this.prefsButton = new Gtk.Button(); + this.prefsButton.set_name('ding-widget-prefs-button'); + this.prefsButton.set_can_focus(false); + this.prefsButton.set_focus_on_click(false); + this.prefsButton.set_tooltip_text(_('Widget preferences')); + + const prefsImg = Gtk.Image.new_from_icon_name('emblem-system-symbolic'); + this.prefsButton.set_child(prefsImg); + + this.prefsButton.connect('clicked', + this._openPreferencesForSelectedInstance.bind(this) + ); + + this._chrome = new Set(); + this._chrome.add(this.closeButton); + this._chrome.add(this.prefsButton); + } + + _attachChromeToInstance(inst) { + if (!this._chrome) + return; + + const surface = this._surfaces.get(inst.monitorIndex); + if (!surface) + return; + + const {widgetContainer} = surface; + const frame = this.getInstanceFrame(inst.instanceId); + if (!frame) + return; + + let allocWidth = frame.width; + const alloc = inst.actor?.get_allocation?.(); + if (alloc) + allocWidth = alloc.width; + + const size = 28; + const gap = 6; + const margin = 8; + + const showPrefs = inst.hasPreferences; + const buttonCount = showPrefs ? 2 : 1; + const totalWidth = buttonCount * size + (buttonCount - 1) * gap; + + const centerX = frame.x + allocWidth / 2; + const buttonsX = centerX - totalWidth / 2; + + let yPos; + const yPosUp = frame.y - size - margin; + const yPosDown = frame.y + frame.height + margin; + if (yPosUp < margin) { + yPos = yPosDown; + } else { + yPos = yPosUp; + } + + const prefsOldParent = this.prefsButton.get_parent(); + if (prefsOldParent && prefsOldParent !== widgetContainer) + prefsOldParent.remove(this.prefsButton); + const closeOldParent = this.closeButton.get_parent(); + if (closeOldParent && closeOldParent !== widgetContainer) + closeOldParent.remove(this.closeButton); + + if (showPrefs) { + if (!this.prefsButton.get_parent()) + widgetContainer.put(this.prefsButton, buttonsX, yPos); + else + widgetContainer.move(this.prefsButton, buttonsX, yPos); + this.prefsButton.show(); + } else { + this.prefsButton.hide(); + } + + const closeX = showPrefs ? (buttonsX + size + gap) : buttonsX; + if (!this.closeButton.get_parent()) + widgetContainer.put(this.closeButton, closeX, yPos); + else + widgetContainer.move(this.closeButton, closeX, yPos); + this.closeButton.show(); + + this._raiseChromeButtons(surface); + } + + _detachChrome() { + if (!this._chrome) + return; + + for (const btn of this._chrome) { + const parent = btn.get_parent(); + if (parent) + parent.remove(btn); + } + } + + _raiseChromeButtons(surface) { + if (!this._chrome || !surface?.widgetContainer) + return; + + for (const btn of this._chrome) { + const parent = btn.get_parent?.(); + if (!parent || parent !== surface.widgetContainer) + continue; + + try { + btn.insert_before(parent, null); + } catch (e) { + console.error('WidgetManager: failed to raise chrome button:', e); + } + } + } + + _openPreferencesForSelectedInstance() { + const selectedId = this._selectedInstanceId; + const inst = selectedId + ? this._instances.get(selectedId) + : null; + + if (!inst || !inst.hasPreferences) { + console.warn('No widget selected or widget has no preferences UI.'); + return; + } + + // Delegate everything to WebWidgetContext + const webCtx = this._ensureWebWidgetContext(); + webCtx.openPreferencesForInstance(selectedId, inst.prefsUri); + } + + _raiseInstance(inst) { + if (!inst || !inst.actor) + return; + + const surface = this._surfaces.get(inst.monitorIndex); + if (!surface || !surface.widgetContainer) + return; + + const parent = inst.actor.get_parent?.(); + if (!parent || parent !== surface.widgetContainer) + return; + + try { + inst.actor.insert_before(parent, null); + } catch (e) { + console.error('WidgetManager: failed to raise instance:', e); + } + + this._raiseAddButton(surface); + this._raiseGridToggleButton(surface); + } + + _getWidgetKind(_widgetId) { + // Stub for future GTK widgets. For now, everything is HTML. + // + return 'html'; + } + + _updateWidgetLayerChange(monitorIndex, onTop) { + for (const inst of this._instances.values()) { + if (inst.monitorIndex !== monitorIndex || + !inst.actor) + continue; + + this._sendLayerStateToInstance(inst, onTop); + } + } + + _sendLayerStateToInstance(inst, onTop) { + // ToDo: GTK Widget layer change; + if (inst.kind === 'html' && inst.host) + this._webWidgetContext?.updateHtmlWidgetLayer(inst, onTop); + } + + _updateWidgetsSelectionState() { + for (const inst of this._instances.values()) { + const selected = inst.instanceId === this._selectedInstanceId; + // To Do: GTK Widget seleted state + if (inst.kind === 'html' && inst.actor && inst.host) + this._webWidgetContext?.updateHtmlWidgetSelected(inst, selected); + } + } + + _updateTheme(inst, theme) { + // To Do: GTK Widget layer change + if (inst.kind === 'html' && inst.actor && inst.host) + this._webWidgetContext?.updateHtmlWidgetTheme(inst, theme); + } + + _updateAnimation(inst, reducedMotion) { + // To Do : Gtk Widget layer change + if (inst.kind === 'html' && inst.actor && inst.host) + this._webWidgetContext?.updateHtmlWidgetAnimation(inst, reducedMotion); + } + + _getLocale() { + try { + const langs = GLib.get_language_names?.(); + if (langs && langs.length) + return langs[0]; + } catch (e) { + // ignore + } + + return 'en_US'; + } + + _getDirectionForActor(actor) { + let direction = 'ltr'; + + try { + if (actor && typeof actor.get_direction === 'function') { + const dir = actor.get_direction(); + if (dir === Gtk.TextDirection.RTL) + direction = 'rtl'; + } + } catch (e) { + // ignore + } + + return direction; + } + + computeHostStateForInstance(inst) { + const actor = inst.actor; + const selected = inst.instanceId === this._selectedInstanceId; + + const surface = this._surfaces.get(inst.monitorIndex); + const grid = surface?.grid; + + const editMode = !!grid?.isWidgetContainerOnTop?.(); + const theme = this._preferences.darkmode ? 'dark' : 'light'; + const reducedMotion = !this._preferences.globalAnimations; + const locale = this._getLocale(); + const direction = this._getDirectionForActor(actor); + + return { + editMode, + selected, + theme, + reducedMotion, + direction, + locale, + }; + } + + /* ==================================================================== + * --- IGNORE --- + * GTK widget support stub (future) + * --- IGNORE --- + * ===================================================================== */ + + _createGtkActorForInstance(inst, _frame) { + // GTK stub for later: we could create a native Gtk.Widget here, e.g.: + console.warn( + `WidgetManager: GTK widget kind requested for ${inst.widgetId}, ` + + 'but GTK widget support is not implemented yet' + ); + return null; + } + + /* ==================================================================== + * WebKit WebContext HTML widget support + * ===================================================================== */ + _ensureWebWidgetContext() { + if (!this._webWidgetContext) { + this._webWidgetContext = + new WebWidgetContext(this._desktopManager, this); + } + + return this._webWidgetContext; + } + + + _stopWebkitIfUnneeded() { + if (!this._webWidgetContext) + return; + + // We prune aggressively, there may be no host, add button has + // no isAlive(). Look only for html hosts + const hasHtmlWidget = + Array.from(this._instances.values()) + .some(inst => inst.host?.isAlive?.()); + + if (hasHtmlWidget) + return; + + this._webWidgetContext.destroy(); + this._webWidgetContext = null; + } + + /* ===================================================================== + * Widget Picker UI + * ===================================================================== */ + + async openAddWidgetDialog(parentWindow = null, monitorIndex = null) { + if (!this._widgetRegistry) { + console.error('openAddWidgetDialog: widgetRegistry missing'); + return null; + } + + let widgets; + try { + widgets = await this._widgetRegistry.listWidgets(); + } catch (e) { + console.error('openAddWidgetDialog: listWidgets failed:', e); + return null; + } + + // Sort by display name + widgets.sort((a, b) => { + const nameA = (a.name || a.id || '').toLowerCase(); + const nameB = (b.name || b.id || '').toLowerCase(); + return nameA.localeCompare(nameB); + }); + + if (!parentWindow) + parentWindow = this._desktopManager.mainApp.get_active_window(); + + const {window, list, addButton, cancelButton} = + this._createWidgetPickerWindow(parentWindow, widgets); + + const resultPromise = new Promise(resolve => { + cancelButton.connect('clicked', () => { + window.close(); + resolve(null); + }); + + addButton.connect('clicked', async () => { + const row = list.get_selected_row(); + if (!row || !row._widgetId) { + window.close(); + resolve(null); + return; + } + + let created = null; + try { + created = await this.createInstanceForWidget(row._widgetId, { + monitorIndex, + }); + } catch (e) { + console.error( + 'openAddWidgetDialog: createInstanceForWidget failed:', + e + ); + } + + window.close(); + resolve(created); + }); + + // Double-clicking a row also activates "Add" + list.connect('row-activated', () => { + addButton.activate(); + }); + + // If user closes via window close button / Esc + window.connect('close-request', () => { + resolve(null); + return false; // allow close + }); + + const shortcutController = new Gtk.ShortcutController({ + propagation_phase: Gtk.PropagationPhase.CAPTURE, + }); + + shortcutController.add_shortcut(new Gtk.Shortcut({ + trigger: Gtk.ShortcutTrigger.parse_string('Escape'), + action: Gtk.CallbackAction.new(() => { + window.close(); + return true; + }), + })); + window.add_controller(shortcutController); + }); + + window.present(); + const createdInstance = await resultPromise; + return createdInstance; + } + + _createWidgetPickerWindow(parentWindow, widgets) { + const builder = + Gtk.Builder + .new_from_resource('/com/desktop/ding/ui/ding-widget-chooser.ui'); + + /** @type {Adw.Window} */ + const window = builder.get_object('widget_picker_window'); + /** @type {Gtk.ListBox} */ + const list = builder.get_object('widget_list'); + /** @type {Gtk.Button} */ + const addButton = builder.get_object('add_button'); + /** @type {Gtk.Button} */ + const cancelButton = builder.get_object('cancel_button'); + + if (parentWindow) + window.set_transient_for(parentWindow); + + // Populate rows from registry + for (const desc of widgets) { + const row = this._createWidgetRow(desc); + list.append(row); + } + + // Select first by default + const firstRow = list.get_row_at_index(0); + if (firstRow) + list.select_row(firstRow); + + return {window, list, addButton, cancelButton}; + } + + _createWidgetRow(desc) { + const row = new Gtk.ListBoxRow(); + row._widgetId = desc.id; + + const box = new Gtk.Box({ + orientation: Gtk.Orientation.VERTICAL, + spacing: 2, + }); + + const titleLabel = new Gtk.Label({ + label: desc.name || desc.id, + xalign: 0, + }); + + const subtitleParts = []; + + if (desc.kind) { + if (desc.kind === 'html') + subtitleParts.push(_('HTML widget')); + else if (desc.kind === 'gtk') + subtitleParts.push(_('GTK widget')); + else + subtitleParts.push(desc.kind); + } + + if (desc.category) + subtitleParts.push(desc.category); + + if (desc.isUser) + subtitleParts.push(_('User')); + + const subtitle = subtitleParts.join(' · '); + + const subtitleLabel = new Gtk.Label({ + label: subtitle, + xalign: 0, + }); + subtitleLabel.add_css_class('dim-label'); + + box.append(titleLabel); + if (subtitle) + box.append(subtitleLabel); + + row.set_child(box); + return row; + } + + _addActions() { + const addWidgetAction = Gio.SimpleAction.new('addWidget', null); + addWidgetAction.connect('activate', () => { + const parentWindow = + this._desktopManager.mainApp.get_active_window(); + + let monitorIndex = null; + + if (parentWindow) { + const surface = parentWindow.get_surface(); + const display = surface?.get_display?.(); + const monitor = display?.get_monitor_at_surface?.(surface); + const monitors = display?.get_monitors?.(); + const count = monitors?.get_n_items?.() ?? 0; + + for (let i = 0; i < count; i++) { + if (monitors.get_item?.(i) === monitor) { + monitorIndex = i; + break; + } + } + } + + if (monitorIndex === null) + return; + + // Ensure widget layers are visible before adding a widget. + this._desktopManager.windowManager?.raiseWidgetLayers(); + + this.openAddWidgetDialog(parentWindow, monitorIndex) + .catch(logError); + }); + this._desktopManager.mainApp.add_action(addWidgetAction); + + const showGridAction = Gio.SimpleAction.new('toggleWidgetGrid', null); + showGridAction.connect('activate', () => { + const parentWindow = + this._desktopManager.mainApp.get_active_window(); + + let monitorIndex = null; + + if (parentWindow) { + const surface = parentWindow.get_surface(); + const display = surface?.get_display?.(); + const monitor = display?.get_monitor_at_surface?.(surface); + const monitors = display?.get_monitors?.(); + const count = monitors?.get_n_items?.() ?? 0; + + for (let i = 0; i < count; i++) { + if (monitors.get_item?.(i) === monitor) { + monitorIndex = i; + break; + } + } + } + + if (monitorIndex === null) + return; + + let gridToggleButton = null; + const instanceId = + this._getGridToggleButtonInstanceId(monitorIndex); + + const inst = instanceId ? this._instances.get(instanceId) : null; + gridToggleButton = inst?.actor ?? null; + + if (!gridToggleButton) + return; + + // Ensure widget layers are visible before showingt widget grid. + this._desktopManager.windowManager?.raiseWidgetLayers(); + gridToggleButton?.activate(); + }); + this._desktopManager.mainApp.add_action(showGridAction); + + const closeWidget = Gio.SimpleAction.new('closeWidget', null); + closeWidget.connect('activate', this.deleteSelectedInstance.bind(this)); + this._desktopManager.mainApp.add_action(closeWidget); + } + + /* ===================================================================== + * Widget Consent UI + * ===================================================================== */ + + _asyncAskYesNo(heading, body, bodyUseMarkup = false) { + const parentWindow = this._desktopManager.mainApp.get_active_window(); + const yesLabel = _('Allow'); + const noLabel = _('Cancel'); + + return new Promise(resolve => { + const dlg = new Adw.AlertDialog(); + dlg.set_presentation_mode(Adw.DialogPresentationMode.FLOATING); + dlg.set_follows_content_size(false); + dlg.set_content_width(500); + + dlg.set_heading(heading); + dlg.set_body_use_markup(bodyUseMarkup); + dlg.set_body(body); + dlg.add_response('no', noLabel); + dlg.add_response('yes', yesLabel); + dlg.set_default_response('no'); + dlg.set_close_response('no'); + if (typeof dlg.set_prefer_wide_layout === 'function') + dlg.set_prefer_wide_layout(true); + + dlg.set_response_appearance( + 'yes', + Adw.ResponseAppearance.SUGGESTED + ); + + dlg.set_response_appearance( + 'no', + Adw.ResponseAppearance.DEFAULT + ); + + const shortcutController = new Gtk.ShortcutController({ + propagation_phase: Gtk.PropagationPhase.CAPTURE, + }); + shortcutController.add_shortcut(new Gtk.Shortcut({ + trigger: Gtk.ShortcutTrigger.parse_string('Escape'), + action: Gtk.CallbackAction.new(() => { + dlg.close(); + return true; + }), + })); + dlg.add_controller(shortcutController); + + dlg.connect('response', (_d, response) => { + resolve(response === 'yes'); + }); + + dlg.present(parentWindow ?? null); + }); + } + + _describeCspProfileForHumans() { + const profile = this.Enums?.DEFAULT_CSP_PROFILE; + + if (profile === this.Enums?.CspProfile?.STRICT) { + return { + name: _('Strict'), + summary: _( + 'The widget runs in a tightly sandboxed web environment.\n\n' + + '• No external scripts or frames are allowed.\n' + + '• Network access is limited to secure (HTTPS) requests.\n' + + '• Only the widget’s own files and inline code may run.\n\n' + + 'This is the safest option and is recommended for most widgets.' + ), + }; + } + + if (profile === this.Enums?.CspProfile?.RELAXED) { + return { + name: _('Relaxed'), + summary: _( + 'The widget is allowed broader web capabilities.\n\n' + + '• External scripts, styles, images, and frames from trusted websites may load.\n' + + '• Network access over HTTPS, WebSockets, and media streams is allowed.\n\n' + + 'Use this only for widgets you trust.' + ), + }; + } + + if (profile === this.Enums?.CspProfile?.DEV) { + return { + name: _('Development'), + summary: _( + 'The widget runs with development-friendly web access.\n\n' + + '• Connections to local development servers (localhost) are allowed.\n' + + '• HTTP and WebSocket access may be permitted for testing.\n\n' + + 'This mode is intended for development and debugging only.' + ), + }; + } + + return { + name: String(profile ?? _('Default')), + summary: _( + 'The widget runs with a predefined web security policy.\n\n' + + 'Web access and capabilities are restricted according to the active policy.' + ), + }; + } + + async _askWebConsent(inst) { + const widgetId = inst.widgetId; + const heading = _('Allow web content for {widgetId}?') + .replace('{widgetId}', widgetId); + const cspProfile = this._describeCspProfileForHumans(); + const cspProfileName = GLib.markup_escape_text(cspProfile.name, -1); + const cspProfileSummary = GLib.markup_escape_text( + cspProfile.summary, + -1 + ); + const body = + // eslint-disable-next-line prefer-template + _('The widget you are adding may load web content from the internet.\n\n') + + _('This content is subject to the widget security policy:\n\n') + + `${cspProfileName}\n` + + `${cspProfileSummary}`; + + + const answer = await this._asyncAskYesNo(heading, body, true); + + return answer; + } + + async _askBackendConsent(inst) { + const widgetId = inst.widgetId; + let argvStr = ''; + + try { + const desc = await this._widgetRegistry.getDescriptor(inst.widgetId); + const spec = this._widgetRegistry.normalizeBackendSpec(desc, inst); + + if (spec?.argv?.length) { + argvStr = spec.argv.map(a => + /[\s"]/g.test(a) ? `"${a.replaceAll('"', '\\"')}"` : a + ).join(' '); + } + } catch (e) { + // If we can’t resolve spec, keep message generic. + argvStr = ''; + } + + const body = + _('This widget, {widgetId} runs a background process on your computer.\n\n') + .replace('{widgetId}', widgetId) + + _('The backend runs with your normal user permissions, just like any other application you start.\n') + + _('It can access your files, system resources, and the network according to your user account permissions.\n\n') + + (argvStr + ? `${GLib.markup_escape_text(_('Command:'), -1)}\n` + + `${GLib.markup_escape_text(argvStr, -1)}\n\n` + : '') + + _('Only allow this for widgets you implicitly trust.'); + + const answer = await this._asyncAskYesNo( + _('Allow widget backend?'), + body, + true); + + return answer; + } +}; diff --git a/ding/app/widgetRegistry.js b/ding/app/widgetRegistry.js new file mode 100644 index 0000000..7190624 --- /dev/null +++ b/ding/app/widgetRegistry.js @@ -0,0 +1,573 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Gtk4 Port Copyright (C) 2022 - 2025 Sundeep Mediratta (smedius@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 . + */ + +/* + * Layout: + * $XDG_DATA_HOME//widgets//widget.json + * $XDG_DATA_DIRS/...//widgets//widget.json + */ + +import {Gio, GLib} from '../dependencies/gi.js'; + +export {WidgetRegistry}; + +const WidgetRegistry = class { + constructor(desktopIconsUtil) { + this._util = desktopIconsUtil; + + this._appId = null; + this._userRoot = null; + this._systemRoots = []; + + // id -> descriptor + this._widgets = new Map(); + + this._loaded = false; + this._loadingPromise = null; + + this._initPaths(); + this.preload(); + } + + // --------------------------------------------------------------------- + // Public API + // --------------------------------------------------------------------- + + preload() { + this._ensureLoadedAsync().catch(e => { + console.error('WidgetRegistry.preload():', e); + }); + } + + /** + * Get a snapshot of all known widgets. + * + * @returns {Promise>} + */ + async listWidgets() { + await this._ensureLoadedAsync(); + return Array.from(this._widgets.values()); + } + + /** + * Look up a widget descriptor by ID. + * + * Descriptor shape: + * { + * id: string, + * name: string, + * kind: 'html' | 'gtk', + * dir: Gio.File, + * manifestFile: Gio.File, + * isUser: boolean, + * defaultWidth: number | null, + * defaultHeight: number | null, + * defaultConfig: object | null, + * "name_localized": { + * "fr": "Horloge analogique" + * }, + * description: "A simple analog clock widget.", + * "description_localized": { + * "fr": "Un widget d'horloge analogique simple." + * }, + * category: "time", + * author: "Sundeep Mediratta", + * version: "1.0", + * homepage: "https://…", + * license: "GPL-3.0-or-later" + * } + * + * @param {string} id Widget identifier + * @returns {Promise} + */ + async getDescriptor(id) { + if (!id) + return null; + + await this._ensureLoadedAsync(); + return this._widgets.get(id) ?? null; + } + + /* + * Get widget kind ('html' | 'gtk') + * + * @param {string} id Widget identifier + * @returns {Promise<'html'|'gtk'>} + */ + async getKind(id) { + const desc = await this.getDescriptor(id); + return desc?.kind === 'gtk' ? 'gtk' : 'html'; + } + + /** + * For HTML widgets, return the entry file (always index.html). + * + * @param {string} id Widget identifier + * @returns {Promise} + */ + async getHtmlEntryFile(id) { + const desc = await this.getDescriptor(id); + if (!desc || desc.kind !== 'html') + return null; + + const file = desc.dir.get_child('index.html'); + + try { + const info = file.query_info( + 'standard::type', + Gio.FileQueryInfoFlags.NONE, + null + ); + if (info.get_file_type() === Gio.FileType.REGULAR) + return file; + } catch (e) { + console.error( + 'WidgetRegistry: getHtmlEntryFile failed for', + id, + e + ); + } + + return null; + } + + reload() { + this._loaded = false; + this._loadingPromise = null; + this._widgets.clear(); + this.preload(); + } + + // --------------------------------------------------------------------- + // Internal + // --------------------------------------------------------------------- + + _initPaths() { + const mainApp = this._util.mainApp; + const appId = mainApp?.get_application_id + ? mainApp.get_application_id() + : null; + + if (!appId) { + console.error( + 'WidgetRegistry: application-id not available; ' + + 'widget paths will not be resolved.' + ); + return; + } + + this._appId = appId; + + // User root: $XDG_DATA_HOME//widgets + try { + const appDataDir = this._util.getAppUserDataDir(); + this._userRoot = appDataDir.get_child('widgets'); + } catch (e) { + console.warn('WidgetRegistry: failed to resolve user root:', e); + } + + // System roots: for each XDG data dir, //widgets + try { + const systemBaseDirs = GLib.get_system_data_dirs(); + + this._systemRoots = systemBaseDirs.map(base => { + return Gio.File.new_build_filenamev([ + base, + this._appId, + 'widgets', + ]); + }); + } catch (e) { + console.warn('WidgetRegistry: failed to build system roots:', e); + this._systemRoots = []; + } + } + + async _ensureLoadedAsync() { + if (this._loaded) + return; + + // Idempotent + if (this._loadingPromise) { + await this._loadingPromise; + return; + } + + const loadPromise = this._loadOnceAsync(); + this._loadingPromise = loadPromise; + + try { + await loadPromise; + } finally { + this._loadingPromise = null; + } + } + + async _loadOnceAsync() { + const newMap = new Map(); + + this._loggedDuplicateIds = new Set(); + + if (this._userRoot) + await this._scanRootAsync(this._userRoot, true, newMap); + + for (const root of this._systemRoots) + // eslint-disable-next-line no-await-in-loop + await this._scanRootAsync(root, false, newMap); + + this._widgets = newMap; + this._loaded = true; + } + + /** + * Async scan of a single root dir: + * //widget.json + * + * @param {Gio.File} root + * @param {boolean} isUser + * @param {Map} outMap + */ + async _scanRootAsync(root, isUser, outMap) { + let info; + try { + info = root.query_info( + 'standard::type', + Gio.FileQueryInfoFlags.NONE, + null + ); + } catch (e) { + return; + } + + if (info.get_file_type() !== Gio.FileType.DIRECTORY) + return; + + let enumerator; + try { + enumerator = root.enumerate_children( + 'standard::name,standard::type', + Gio.FileQueryInfoFlags.NONE, + null + ); + } catch (e) { + console.error( + 'WidgetRegistry: enumerate_children failed for', + root.get_path?.(), + e + ); + return; + } + + try { + while (true) { + // eslint-disable-next-line no-await-in-loop + const files = await this._nextFilesAsync(enumerator); + if (!files.length) + break; + + for (const finfo of files) { + if (finfo.get_file_type() !== Gio.FileType.DIRECTORY) + continue; + + const name = finfo.get_name(); + const widgetDir = root.get_child(name); + const manifestFile = + widgetDir.get_child('widget.json'); + + let manifestInfo; + try { + manifestInfo = manifestFile.query_info( + 'standard::type', + Gio.FileQueryInfoFlags.NONE, + null + ); + } catch (e) { + continue; + } + + if (manifestInfo.get_file_type() !== Gio.FileType.REGULAR) + continue; + + const manifest = + // eslint-disable-next-line no-await-in-loop + await this._util.readJsonFile(manifestFile); + if (!manifest) + continue; + + // ID must come from widget.json and must be valid. + const idRaw = + typeof manifest.id === 'string' + ? manifest.id.trim() : ''; + const idOk = + !!idRaw && /^[A-Za-z0-9._-]+$/.test(idRaw); + + if (!idOk) { + const mf = + manifestFile.get_path?.() ?? + manifestFile.get_uri?.() ?? + String(manifestFile); + console.warn( + `WidgetRegistry: + rejecting widget with invalid id in ${mf}` + ); + continue; + } + + const id = idRaw; + const kind = manifest.kind === 'gtk' ? 'gtk' : 'html'; + const displayName = manifest.name || id; + const description = manifest.description || ''; + const author = manifest.author || ''; + const version = manifest.version || ''; + const icon = manifest.icon || ''; + + const defaultWidth = + Number.isFinite(manifest.defaultWidth) + ? Math.max(1, Math.floor(manifest.defaultWidth)) + : 260; + + const defaultHeight = + Number.isFinite(manifest.defaultHeight) + ? Math.max(1, Math.floor(manifest.defaultHeight)) + : 160; + + const defaultConfig = + this._isObject(manifest.defaultConfig) + ? manifest.defaultConfig + : {}; + + const prefs = + typeof manifest.prefs === 'string' + ? manifest.prefs + : null; + + const backend = + this._isObject(manifest.backend) + ? manifest.backend + : null; + + const desc = { + id, + kind, + dir: widgetDir, + manifestFile, + isUser, + displayName, + description, + author, + version, + icon, + defaultWidth, + defaultHeight, + defaultConfig, + prefs, + backend, + hasBackend: !!backend, + }; + + // Resolve duplicates deterministically; + // log each duplicated id only once. + + const existing = outMap.get(id); + if (existing) { + const replace = isUser && !existing.isUser; + + this._logDuplicateIds( + id, existing, replace, widgetDir, isUser + ); + + if (replace) + outMap.set(id, desc); + } else { + outMap.set(id, desc); + } + } + } + } catch (e) { + console.error( + 'WidgetRegistry: error scanning root', + root.get_path?.(), + e + ); + } finally { + try { + enumerator.close(null); + } catch (e) { + console.error( + 'WidgetRegistry: error closing enumerator', + e + ); + } + } + } + + _isObject(object) { + const isObject = + object !== null && + typeof object === 'object' && + !Array.isArray(object) && + Object.getPrototypeOf(object) === Object.prototype; + + return isObject; + } + + _logDuplicateIds(id, existing, replace, widgetDir, isUser) { + if (this._loggedDuplicateIds.has(id)) + return; + + const toPathString = file => + file?.get_path?.() ?? + file?.get_uri?.() ?? + String(file); + + const existingPath = toPathString(existing?.dir); + const newPath = toPathString(widgetDir); + const existingScope = existing?.isUser ? 'user' : 'system'; + const newScope = isUser ? 'user' : 'system'; + const action = replace ? 'using user override' : 'keeping first'; + + console.warn( + `WidgetRegistry: duplicate widget id "${id}": ` + + `${existingPath} (${existingScope}) vs ` + + `${newPath} (${newScope}) — ${action}` + ); + this._loggedDuplicateIds.add(id); + } + + _nextFilesAsync(enumerator) { + const batchSize = 32; + const cancelable = null; + + return new Promise((resolve, reject) => { + enumerator.next_files_async( + batchSize, + GLib.PRIORITY_DEFAULT, + cancelable, + (src, res) => { + try { + const files = src.next_files_finish(res); + resolve(files ?? []); + } catch (e) { + reject(e); + } + } + ); + }); + } + + normalizeBackendSpec(desc, inst) { + return this._normalizeBackendSpec(desc, inst); + } + + _normalizeBackendSpec(desc, inst) { + const b = desc?.backend; + if (!b || typeof b !== 'object') + return null; + + const dirFile = desc.dir; + const dirPath = dirFile?.get_path?.(); + if (!dirFile || !dirPath) + return null; + + const argv = this._buildBackendArgv(b, dirFile); + if (!argv?.length) { + console.error( + 'WidgetRegistry: backend argv missing/invalid for widget', + desc?.id ?? '' + ); + return null; + } + + const cwd = this._resolveBackendCwd(b, dirFile, dirPath); + + const envOverrides = + b.env && typeof b.env === 'object' ? b.env : null; + + const env = { + DING_WIDGET_ID: String(inst?.widgetId ?? ''), + DING_INSTANCE_ID: String(inst?.instanceId ?? ''), + }; + + if (envOverrides) { + for (const [key, value] of Object.entries(envOverrides)) { + if (typeof key !== 'string') + continue; + if (value === undefined) + continue; + env[key] = typeof value === 'string' + ? value + : String(value); + } + } + + return { + argv, + cwd, + env, + }; + } + + _buildBackendArgv(backend, dirFile) { + const cmd = backend?.command; + if (typeof cmd !== 'string' || cmd.length === 0) + return null; + + // eslint-disable-next-line no-nested-ternary + const args = Array.isArray(backend.args) + ? backend.args.filter(a => typeof a === 'string') + : Array.isArray(backend.argv) + ? backend.argv.filter(a => typeof a === 'string') + : []; + + // Resolve argv[0] to an absolute path if it isn't already. + let argv0 = null; + + if (cmd.startsWith('/')) { + argv0 = cmd; + } else if (cmd.includes('/')) { + const f = dirFile.resolve_relative_path + ? dirFile.resolve_relative_path(cmd) + : dirFile.get_child(cmd); + argv0 = f?.get_path?.() ?? null; + } else { + argv0 = GLib.find_program_in_path(cmd); + if (!argv0) { + const f = dirFile.resolve_relative_path + ? dirFile.resolve_relative_path(cmd) + : dirFile.get_child(cmd); + argv0 = f?.get_path?.() ?? null; + } + } + + if (!argv0) + return null; + + return [argv0, ...args]; + } + + _resolveBackendCwd(backend, dirFile, fallbackDirPath) { + const cwdRel = + typeof backend?.cwd === 'string' && backend.cwd.length + ? backend.cwd + : '.'; + + const cwdFile = dirFile.resolve_relative_path + ? dirFile.resolve_relative_path(cwdRel) + : dirFile.get_child(cwdRel); + return cwdFile?.get_path?.() ?? fallbackDirPath; + } +}; diff --git a/ding/app/widgetWebContext.js b/ding/app/widgetWebContext.js new file mode 100644 index 0000000..8110c6d --- /dev/null +++ b/ding/app/widgetWebContext.js @@ -0,0 +1,1042 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Gtk4 Port Copyright (C) 2022 - 2025 Sundeep Mediratta (smedius@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 . + */ + +import {Gdk, Gio, GLib, Gtk, Soup, WebKit} from '../dependencies/gi.js'; +import {_} from '../dependencies/gettext.js'; +import {HtmlWidgetHost, WidgetApi} from '../dependencies/localFiles.js'; + +export {WebWidgetContext}; + +/** + * WebWidgetContext + * + * Single runtime for all HTML widgets: + * - Owns shared WebKit.WebContext and WebKit.UserContentManager. + * - Injects WIDGET_API (window.ding) into all frames. + * - Receives script messages ("dingWidget") and parses JSON payloads. + * - Delegates semantics to WidgetManager (config, host state, prefs). + * + * Lifetime: + * - Created lazily by WidgetManager when the first HTML widget is created. + * - Destroyed explicitly by WidgetManager when the last HTML widget is removed. + */ +const WebWidgetContext = class { + constructor(desktopManager, widgetManager) { + this._desktopManager = desktopManager; + this._widgetManager = widgetManager; + + this._prefs = desktopManager.Prefs; + this.Enums = desktopManager.Enums; + this._mainApp = desktopManager.mainApp; + this._desktopIconsUtil = desktopManager.DesktopIconsUtil; + + this._webContext = null; + this._userContentManager = null; + this._networkSession = null; + this._scriptHandlerId = 0; + this._cspString = null; + + this._prefsWindow = null; + this._prefsWebView = null; + this._prefsInstanceId = null; + + this._instanceRoots = new Map(); + + this._setCspString(); + } + + // --------------------------------------------------------------------- + // Public WebKit runtime access + // --------------------------------------------------------------------- + + get webContext() { + this._initWebKitRuntime(); + return this._webContext; + } + + get userContentManager() { + this._initWebKitRuntime(); + return this._userContentManager; + } + + destroy() { + this.closePreferencesIfAny(); + + if (this._userContentManager && this._scriptHandlerId) { + this._userContentManager.disconnect(this._scriptHandlerId); + + this._scriptHandlerId = 0; + } + + if (this._userContentManager) { + this._userContentManager.unregister_script_message_handler( + 'dingWidget', + null + ); + } + + this._userContentManager = null; + this._webContext = null; + } + + /* + * Create a WebView for a widget instance and bind its FS root. + * + * @param {string} widgetId - logical widget ID (e.g. 'weather') + * @param {string} instanceId - UUID-like instance ID + * @param {Gio.File} rootDir - widget bundle root directory + */ + async newViewForInstance(widgetId, instanceId) { + // Ensure runtime is set up before constructing a view. + this._initWebKitRuntime(); + + const webViewOptions = { + web_context: this._webContext, + user_content_manager: this._userContentManager, + network_session: this._networkSession, + }; + + const webView = new WebKit.WebView(webViewOptions); + + const rootDir = await this._getInstanceRoot(instanceId); + + // Per-view FS jail root (we ignore URL host in scheme handler) + webView._dingWidgetRoot = rootDir; + webView._dingWidgetId = widgetId; + webView._dingInstanceId = instanceId; + + const settings = webView.get_settings(); + settings.set_enable_write_console_messages_to_stdout(true); + settings.set_enable_webgl(true); + + webView.set_background_color(new Gdk.RGBA({ + red: 0, + green: 0, + blue: 0, + alpha: 0, + })); + webView.set_name('ding-widget-webview'); + webView.set_hexpand(true); + webView.set_vexpand(true); + + return webView; + } + + // --------------------------------------------------------------------- + // Preferences window helpers (called from WidgetManager) + // --------------------------------------------------------------------- + + /** + * Open or focus the preferences window for a given instance. + * + * - Only one prefs window at a time (shared runtime). + * - Only opens if that instance is currently selected. + * - If already open for another instance, closes and reopens for this one. + * + * WidgetManager should: + * - Calls this in response to gear-icon click for the selected widget. + * - Calls closePreferencesForInstance() or closePreferencesIfForInstance() + * when unselecting/destroying the widget. + * + * @param {string} instanceId + * @param {string} prefsUri + */ + openPreferencesForInstance(instanceId, prefsUri) { + if (!instanceId || !prefsUri) + return; + + // Only for currently selected instance + const selectedId = this._widgetManager.getSelectedInstanceId(); + if (!selectedId || selectedId !== instanceId) + return; + + if (this._prefsWindow && this._prefsInstanceId === instanceId) { + this._prefsWindow.present(); + return; + } + + this.closePreferencesIfAny(); + + const inst = this._widgetManager.getInstance(instanceId); + if (!inst) { + console.warn( + 'WebWidgetContext.openPreferencesForInstance: no instance', + instanceId + ); + return; + } + + const defaultWidth = 420; + const defaultHeight = 520; + + const window = new Gtk.Window({ + title: _('Widget Preferences'), + default_width: defaultWidth, + default_height: defaultHeight, + }); + const closeShortcut = new Gtk.ShortcutController({ + propagation_phase: Gtk.PropagationPhase.CAPTURE, + }); + closeShortcut.add_shortcut(new Gtk.Shortcut({ + trigger: Gtk.ShortcutTrigger.parse_string('Escape'), + action: Gtk.CallbackAction.new(() => { + window.close(); + return true; + }), + })); + window.add_controller(closeShortcut); + + const parentWindow = this._mainApp.get_active_window(); + if (parentWindow) + window.set_transient_for(parentWindow); + + const host = new HtmlWidgetHost({ + instanceId, + widgetId: inst.widgetId, + frameRect: {x: 0, y: 0, width: defaultWidth, height: defaultHeight}, + widgetRegistry: this._widgetManager._widgetRegistry, + webContext: this, + mode: 'prefs', + prefsUri, + }); + + this._prefsHost = host; + host.actor.set_name('ding-prefs-frame'); + + window.set_child(host.actor); + + window.connect('close-request', () => { + this._prefsHost?.destroy(); + this._prefsHost = null; + this._prefsWindow = null; + this._prefsInstanceId = null; + return false; + }); + + this._prefsWindow = window; + this._prefsInstanceId = instanceId; + + window.present(); + } + + closePreferencesForInstance(instanceId) { + if (!instanceId || instanceId !== this._prefsInstanceId) + return; + + this.closePreferencesIfAny(); + } + + closePreferencesIfAny() { + if (!this._prefsWindow) + return; + + this._prefsHost?.destroy(); + this._prefsHost = null; + this._prefsWindow.destroy(); + this._prefsWindow = null; + this._prefsInstanceId = null; + } + + // --------------------------------------------------------------------- + // Internal: WebKit runtime setup + // --------------------------------------------------------------------- + + _initPaths() { + const appId = this._mainApp.get_application_id(); + + const baseData = GLib.build_filenamev([ + GLib.get_user_data_dir(), + appId, + 'webkit', + ]); + + const baseCache = GLib.build_filenamev([ + GLib.get_user_cache_dir(), + appId, + 'webkit', + ]); + + this._dataBase = this._desktopIconsUtil.ensureDir(baseData); + this._cacheBase = this._desktopIconsUtil.ensureDir(baseCache); + } + + _initWebKitRuntime() { + if (this._webContext && this._userContentManager) + return; + + this._initPaths(); + + // Shared WebKit plumbing: one WebContext, one UserContentManager + this._webContext = new WebKit.WebContext(); + this._webContext.set_cache_model(WebKit.CacheModel.DOCUMENT_VIEWER); + + try { + const cacheDir = this._desktopIconsUtil.ensureDir( + GLib.build_filenamev([this._cacheBase, 'cache']) + ); + const storageDir = this._desktopIconsUtil.ensureDir( + GLib.build_filenamev([this._dataBase, 'storage']) + ); + + this._networkSession = + WebKit.NetworkSession.new(storageDir, cacheDir); + } catch (e) { + logError(e, 'WidgetWebKit: WebContext directory setup failed'); + } + + this._userContentManager = new WebKit.UserContentManager(); + + const defaultWorld = null; // default JS world + + // Register script message handler for window.ding → "dingWidget" + try { + this._userContentManager.register_script_message_handler( + 'dingWidget', + defaultWorld + ); + } catch (e) { + console.error( + 'WebWidgetContext: failed to register dingWidget handler:', + e + ); + } + + this._webContext.register_uri_scheme( + 'ding-widget', + this._onDingWidgetUriRequest.bind(this) + ); + + this._scriptHandlerId = this._userContentManager.connect( + 'script-message-received::dingWidget', + this._onWidgetScriptMessage.bind(this) + ); + + const whitelist = null; + const blacklist = null; + + try { + const userScript = WebKit.UserScript.new( + WidgetApi.WIDGET_API, + WebKit.UserContentInjectedFrames.ALL_FRAMES, + WebKit.UserScriptInjectionTime.START, + whitelist, + blacklist + ); + + this._userContentManager.add_script(userScript); + } catch (e) { + console.error( + 'WebWidgetContext: failed to install WIDGET_API user script:', + e + ); + } + } + + _setCspString() { + const profile = this.Enums.DEFAULT_CSP_PROFILE; + let cspString = ''; + + switch (profile) { + case this.Enums.CspProfile.STRICT: + cspString = WidgetApi.CSP_STRICT; + break; + case this.Enums.CspProfile.DEV: + cspString = WidgetApi.CSP_DEV; + break; + case this.Enums.CspProfile.RELAXED: + cspString = WidgetApi.RELAXED; + break; + default: + console.warn('Unknown CSP profile, enforcing STRICT'); + cspString = this.Enums.CspProfile.STRICT; + } + + this._cspString = cspString.replace(/\s+/g, ' ').trim(); + } + + // --------------------------------------------------------------------- + // Internal: JS API bridge (window.ding) + // --------------------------------------------------------------------- + + // Debug Helpers + + _debugHostState(op, inst, patch) { + if (!(this.Enums.WIDGET_MANAGER_DEBUG & + this.Enums.WidgetManagerDebugFlags.HOST_STATE)) + return; + + const id = inst?.instanceId ?? ''; + console.log('>>> WebWidgetContext[HOST]', op, 'id=', id, 'patch=', patch); + } + + _debugWidgetMessage(payload, direction = 'in') { + if (!(this.Enums.WIDGET_MANAGER_DEBUG & + this.Enums.WidgetManagerDebugFlags.WIDGET_MESSAGES)) + return; + + const id = payload?.instanceId ?? ''; + const type = payload?.type ?? ''; + const mode = payload?.mode ?? ''; + const arrow = direction === 'out' ? '>>>' : '<<<'; + + console.log( + `${arrow} WebWidgetContext[WIDGET]`, + 'type=', + type, + 'id=', + id, + 'mode=', + mode, + payload + ); + } + + // Script Handler + + _onWidgetScriptMessage(_manager, jsResult) { + let jsValue; + + try { + if (typeof jsResult.get_js_value === 'function') + jsValue = jsResult.get_js_value(); + else if (typeof jsResult.get_value === 'function') + jsValue = jsResult.get_value(); + else + jsValue = jsResult; + } catch (e) { + console.error('WebWidgetContext: failed to read widget message:', e); + return; + } + + if (jsValue === undefined || jsValue === null) + return; + + let json = null; + + try { + if (jsValue.is_string && jsValue.is_string()) + json = jsValue.to_string(); + else if (jsValue.to_json && jsValue.is_object && jsValue.is_object()) + json = jsValue.to_json(0); // stringify objects + else if (jsValue.to_string) + json = jsValue.to_string(); + } catch (e) { + console.error( + 'WebWidgetContext: failed to convert widget message to string:', + e + ); + return; + } + + if (typeof json !== 'string') { + console.warn( + 'WebWidgetContext: unexpected widget message payload', + json, + typeof json, + 'raw jsValue:', + jsValue, + 'ctor:', + jsValue?.constructor?.name + ); + return; + } + + let payload; + try { + payload = JSON.parse(json); + } catch (e) { + console.error('WebWidgetContext: invalid widget JSON payload:', e); + return; + } + + if (!payload || typeof payload !== 'object') + return; + + const { + instanceId, + type, + message, + } = payload; + + this._debugWidgetMessage(payload); + + // Log messages are always allowed through + if (type === 'log') { + console.log( + 'HtmlWidget log:', + '(instanceId=', + instanceId, + ')', + message + ); + return; + } + + if (!instanceId || typeof instanceId !== 'string') + return; + + const manager = this._widgetManager; + if (!manager) + return; + + this._dispatchWidgetMessage(manager, payload); + } + + async _dispatchWidgetMessage(manager, payload) { + const { + instanceId, + type, + config, + requestId, + mode, + } = payload || {}; + + const inst = manager.getInstance(instanceId); + + if (!inst) + return; + + let webView; + + try { + webView = await inst.host.getWebViewAsync(); + } catch (e) { + return; + } + + const uri = webView?.get_uri?.() ?? ''; + + if (!uri.startsWith(`ding-widget://${instanceId}/`)) + return; + + // Delegate semantics to WidgetManager, reusing its existing helpers. + switch (type) { + case 'updateConfig': + if (config && typeof config === 'object') + manager.updateInstanceConfig(instanceId, config); + + // Broadcast so widget + prefs can update live + this._pushConfigChangedForInstance(inst, mode); + break; + + case 'getConfig': { + this._doWidgetGetConfig(inst, mode, requestId); + break; + } + + case 'hostReady': { + this._pushFullHostStateForInstance(inst); + this._pushConfigChangedForInstance(inst); + break; + } + + case 'openPreferences': { + if (!inst.hasPreferences || !inst.prefsUri) + break; + + this.openPreferencesForInstance(instanceId, inst.prefsUri); + break; + } + + case 'closePreferences': { + this.closePreferencesForInstance(instanceId); + break; + } + + case 'backendRequest': { + const hasBackend = typeof inst.host?.backendRequest === 'function'; + + if (!hasBackend) { + this._postNoBackendError(inst, payload); + break; + } + + await inst.host.backendRequest(inst, payload); + break; + } + + case 'backendSend': { + const hasBackend = typeof inst.host?.backendSend === 'function'; + if (!hasBackend) { + this._debugWidgetMessage({ + instanceId, + type: 'backendSendDropped', + name: payload?.name, + }, 'out'); + break; + } + + inst.host.backendSend(inst, payload); + break; + } + + default: + // Unknown message type; ignore for now + break; + } + } + + // Script Helpers + _postNoBackendError(inst, payload) { + // Ensure the JSAPI Promise resolves/rejects; otherwise it hangs. + const instanceId = inst?.instanceId ?? payload?.instanceId; + + const reply = { + _dingInternal: true, + type: 'backendReply', + instanceId, + requestId: payload?.requestId, + ok: false, + error: { + code: 'E_NO_BACKEND', + message: 'This widget has no backend configured', + }, + }; + + this._debugWidgetMessage({ + instanceId, + type: 'backendReply', + requestId: payload?.requestId, + ok: false, + }, 'out'); + + this._routeAndPost(payload?.mode, inst, reply); + } + + _postToWidget(inst, msg) { + const host = inst?.host; + if (!host) + return; + + host.postMessage(msg); + } + + _postToPrefs(inst, msg) { + if (!inst) + return; + + if (this._prefsHost && + this._prefsInstanceId === inst.instanceId + ) + this._prefsHost.postMessage(msg); + } + + _postToBoth(inst, msg) { + this._postToWidget(inst, msg); + this._postToPrefs(inst, msg); + } + + _routeAndPost(mode, inst, msg) { + switch (mode) { + case 'prefs': + this._postToPrefs(inst, msg); + break; + case 'widget': + this._postToWidget(inst, msg); + break; + default: + this._postToBoth(inst, msg); + } + } + + _doWidgetGetConfig(inst, mode, requestId) { + const reply = { + _dingInternal: true, + requestId, + config: inst.config || {}, + }; + + this._debugWidgetMessage({ + instanceId: inst?.instanceId, + type: 'getConfigReply', + requestId, + mode, + config: reply.config, + }, 'out'); + + this._routeAndPost(mode, inst, reply); + } + + _pushConfigChangedForInstance(inst, mode = null) { + const msg = { + _dingInternal: true, + type: 'configChanged', + instanceId: inst.instanceId, + config: inst.config || {}, + reason: 'configSaved', + sourceMode: mode, + }; + + this._debugWidgetMessage({ + instanceId: inst?.instanceId, + type: 'configChanged', + mode, + config: inst.config, + }, 'out'); + + this._postToBoth(inst, msg); + } + + _pushFullHostStateForInstance(inst) { + const state = this._widgetManager.computeHostStateForInstance(inst); + this._debugHostState('full', inst, state); + this._pushPatchtoTarget(inst, state); + } + + _pushPatchtoTarget(inst, patch) { + if (!inst || inst.kind !== 'html' || !inst.host) + return; + + inst.host.setHostStatePatch(patch); + + if (this._prefsHost && inst.instanceId === this._prefsInstanceId) + this._prefsHost.setHostStatePatch(patch); + } + + updateHtmlWidgetSelected(inst, selected) { + const patch = {selected}; + this._debugHostState('selected', inst, patch); + this._pushPatchtoTarget(inst, patch); + } + + updateHtmlWidgetAnimation(inst, reducedMotion) { + const patch = {reducedMotion}; + this._debugHostState('reducedMotion', inst, patch); + this._pushPatchtoTarget(inst, patch); + } + + updateHtmlWidgetLayer(inst, onTop) { + const patch = {editMode: !!onTop}; + this._debugHostState('editMode', inst, patch); + this._pushPatchtoTarget(inst, patch); + } + + updateHtmlWidgetTheme(inst, theme) { + const patch = {theme}; + this._debugHostState('theme', inst, patch); + this._pushPatchtoTarget(inst, patch); + } + + /* ----------------------------------------------------------------- + * Instance roots and FS isolation + * -----------------------------------------------------------------*/ + + async _getInstanceRoot(instanceId) { + if (this._instanceRoots.has(instanceId)) + return this._instanceRoots.get(instanceId); + + const inst = this._widgetManager.getInstance(instanceId); + const widgetId = inst.widgetId; + const registry = this._widgetManager._widgetRegistry; + const desc = await registry.getDescriptor(widgetId) + .catch(e => console.error(`No description for ${widgetId}`, e)); + const dir = desc?.dir; + + if (!dir) { + console.warn( + 'WebWidgetContext: no descriptor.dir for instance', + instanceId + ); + return null; + } + + this._instanceRoots.set(instanceId, dir); + return dir; + } + + /* + * URI scheme handler for ding-widget://instanceId/path + */ + _onDingWidgetUriRequest(request) { + this._onDingWidgetUriRequestAsync(request).catch(e => { + console.error( + 'WebWidgetContext: unhandled error in ding-widget handler:', + e + ); + }); + } + + async _onDingWidgetUriRequestAsync(request) { + const sep = GLib.DIR_SEPARATOR_S; + + const finishError = (code, message) => { + request.finish_error(new GLib.Error( + Gio.IOErrorEnum, + code, + message + )); + }; + + let uri; + try { + uri = request.get_uri?.() ?? null; + } catch (e) { + console.error('WebWidgetContext: URI request without URI:', e); + finishError(Gio.IOErrorEnum.INVALID_ARGUMENT, 'Missing URI'); + return; + } + + if (!uri) { + console.error('WebWidgetContext: URI request had no URI'); + finishError(Gio.IOErrorEnum.INVALID_ARGUMENT, 'Missing URI'); + return; + } + + let guri; + try { + guri = GLib.Uri.parse(uri, GLib.UriFlags.NONE); + } catch (e) { + console.error('WebWidgetContext: failed to parse URI:', uri, e); + finishError(Gio.IOErrorEnum.INVALID_ARGUMENT, 'Invalid URI'); + return; + } + + // Basic parse: ding-widget:/// + const scheme = 'ding-widget'; + + if (guri.get_scheme() !== scheme) { + console.error('WebWidgetContext: unexpected scheme URI:', uri); + finishError( + Gio.IOErrorEnum.INVALID_ARGUMENT, + 'Unexpected URI scheme' + ); + return; + } + + const instanceId = guri.get_host(); + + if (!instanceId) { + console.error('WebWidgetContext: missing instanceId in URI', uri); + finishError( + Gio.IOErrorEnum.INVALID_ARGUMENT, + 'Missing instanceId in widget URI' + ); + return; + } + + const webView = request.get_web_view(); + + if (!webView._dingWidgetRoot || webView._dingInstanceId !== instanceId) { + finishError( + Gio.IOErrorEnum.PERMISSION_DENIED, + 'Widget root not bound to this view' + ); + return; + } + + const rootDir = await this._getInstanceRoot(instanceId); + + if (!rootDir) { + console.error( + 'WebWidgetContext: no root dir registered for instance', + instanceId, + 'URI =', + uri + ); + finishError( + Gio.IOErrorEnum.NOT_FOUND, + 'Widget root not registered for this instance' + ); + return; + } + + // Extra guard: ensure the bound root on the WebView matches registry + try { + const boundRootPath = webView._dingWidgetRoot?.get_path?.(); + const registryRootPath = rootDir.get_path?.(); + + if (!boundRootPath || !registryRootPath || + boundRootPath !== registryRootPath) { + finishError( + Gio.IOErrorEnum.PERMISSION_DENIED, + 'Widget root mismatch for this view' + ); + return; + } + } catch (e) { + finishError( + Gio.IOErrorEnum.FAILED, + 'Failed to verify widget root' + ); + return; + } + + // Normalize relPath: + // - treat URI path as widget-root-relative (strip leading "/") + // - strip leading "./" segments (so "./clock.css" works) + const path = guri.get_path?.() ?? ''; + const effectiveRelPath = + path + .replace(/^\/+/, '') + .replace(/^(\.\/)+/, ''); + + if (!effectiveRelPath) { + finishError(Gio.IOErrorEnum.NOT_FOUND, 'No file specified'); + return; + } + + // Lexical confinement: canonicalize + + // prefix check to block "../" traversal. + const rootPath = rootDir.get_path(); + if (!rootPath) { + console.error('WebWidgetContext: cannot enforce confinement (no root path)'); + finishError(Gio.IOErrorEnum.FAILED, 'Cannot enforce confinement'); + return; + } + + try { + const candidatePath = GLib.build_filenamev([ + rootPath, + effectiveRelPath, + ]); + + const canonRoot = GLib.canonicalize_filename(rootPath, null); + const canonFile = GLib.canonicalize_filename(candidatePath, null); + + const normalizedRoot = canonRoot.endsWith(sep) + ? canonRoot + : `${canonRoot}${sep}`; + + if (!canonFile.startsWith(normalizedRoot)) { + console.error( + 'WebWidgetContext: attempted escape from root:', + canonFile, + 'not under', + normalizedRoot + ); + finishError( + Gio.IOErrorEnum.PERMISSION_DENIED, + 'Path escapes widget root' + ); + return; + } + } catch (e) { + console.error( + 'WebWidgetContext: exception during confinement check:', e + ); + finishError(Gio.IOErrorEnum.FAILED, 'Confinement check failed'); + return; + } + + // Symlink confinement: reject symlinks anywhere + // in the path (NOFOLLOW_SYMLINKS). + let file = rootDir; + try { + const parts = effectiveRelPath.split('/').filter(p => p.length > 0); + + for (const part of parts) { + file = file.get_child(part); + + const info = file.query_info( + 'standard::type,standard::is-symlink', + Gio.FileQueryInfoFlags.NOFOLLOW_SYMLINKS, + null + ); + + if (info.get_is_symlink()) { + finishError(Gio.IOErrorEnum.PERMISSION_DENIED, + 'Symlinks are not allowed in widget paths' + ); + return; + } + } + } catch (e) { + finishError( + Gio.IOErrorEnum.NOT_FOUND, + 'File not found in widget root' + ); + return; + } + + let bytes; + try { + const [loadedBytes] = await file.load_bytes_async(null); + bytes = loadedBytes; + } catch (e) { + console.error( + 'WebWidgetContext: exception loading file (async)', + file.get_path?.(), + e + ); + finishError( + Gio.IOErrorEnum.NOT_FOUND, 'File not found in widget root'); + return; + } + + // Guess MIME type using filename + data, + // but then *force* sane types for HTML/CSS/JS. + let mimeType = null; + let filePathForMime = ''; + + try { + filePathForMime = file.get_path?.() ?? ''; + const [mimetype] = Gio.content_type_guess( + filePathForMime, + bytes.toArray ? bytes.toArray() : null + ); + if (mimetype) + mimeType = mimetype; + } catch (e) { + console.error('WebWidgetContext: content_type_guess failed', e); + } + + // Force explicit types by extension – important for the main HTML. + if (filePathForMime.endsWith('.html') || + filePathForMime.endsWith('.htm')) + mimeType = 'text/html'; + else if (filePathForMime.endsWith('.css')) + mimeType = 'text/css'; + else if (filePathForMime.endsWith('.js')) + mimeType = 'application/javascript'; + + if (!mimeType) + mimeType = 'application/octet-stream'; + + try { + const stream = Gio.MemoryInputStream.new_from_bytes(bytes); + const length = bytes.get_size?.() ?? bytes.length ?? -1; + + const response = new WebKit.URISchemeResponse({ + stream, + 'stream-length': length, + }); + + response.set_content_type(mimeType); + + // To Do: set cspstring depending on widgetID with a manager... + if (this._cspString) { + const headers = new Soup.MessageHeaders( + Soup.MessageHeadersType.RESPONSE + ); + headers.append('Content-Security-Policy', this._cspString); + response.set_http_headers(headers); + } + + request.finish_with_response(response); + } catch (e) { + console.error( + 'WebWidgetContext: failed to finish ding-widget request for', + uri, + e + ); + finishError( + Gio.IOErrorEnum.FAILED, + 'Failed to serve widget resource' + ); + } + } +}; diff --git a/ding/app/windowManager.js b/ding/app/windowManager.js new file mode 100644 index 0000000..be0bba6 --- /dev/null +++ b/ding/app/windowManager.js @@ -0,0 +1,607 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Adw/Gtk4 Port Copyright (C) 2025 Sundeep Mediratta (smedius@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 . + */ +import { + DesktopGrid +} from '../dependencies/localFiles.js'; + +import {Gio, GLib, DesktopWidgetCapability} from '../dependencies/gi.js'; + +export {WindowManager}; + +const WindowManager = class { + constructor(desktopManager, desktopList, asDesktop, primaryIndex) { + this._desktopManager = desktopManager; + this._Prefs = desktopManager.Prefs; + this.mainApp = desktopManager.mainApp; + this._desktopList = desktopList; + this._primaryIndex = primaryIndex; + + if (primaryIndex < desktopList.length) + this._primaryScreen = desktopList[primaryIndex]; + else + this._primaryScreen = null; + + this._priorDesktopList = []; + this._desktops = []; + this._asDesktop = asDesktop; + this._zoom = 1; + this._primaryMonitorIndex = null; + this._priorPrimaryIndex = null; + this._priorPrimaryMonitorIndex = null; + this._differentZooms = false; + this._hidden = false; + this._gridWindowsUpdateInProgress = false; + this._pendingDesktopList = null; + + this._registerWidgetLayerAction(); + this._dbusAdvertiseUpdate(); + } + + _dbusAdvertiseUpdate() { + const updateGridWindows = new Gio.SimpleAction({ + name: 'updateGridWindows', + parameter_type: new GLib.VariantType('av'), + }); + + updateGridWindows.connect('activate', (action, parameter) => { + this.updateGridWindows(parameter.recursiveUnpack()) + .catch(e => logError(e)); + }); + + this.mainApp.add_action(updateGridWindows); + + const busObjectPath = this.mainApp.get_dbus_object_path(); + const busName = this.mainApp.get_application_id(); + const connection = Gio.DBus.session; + const signalName = 'updategeometry'; + + const signalXml = ` + + + + + + + + `; + + this._dbusGeometryIface = + Gio.DBusExportedObject.wrapJSObject(signalXml, this); + + this._dbusGeometryIface.export( + connection, + busObjectPath + ); + } + + requestGeometryUpdate() { + const variant = new GLib.Variant('(sb)', ['updategeometry', true]); + const busObjectPath = this.mainApp.get_dbus_object_path(); + const busName = this.mainApp.get_application_id(); + const connection = Gio.DBus.session; + const signalName = 'updategeometry'; + + connection.emit_signal( + null, + busObjectPath, + busName, + signalName, + variant + ); + } + + async updateGridWindows(newdesktoplist) { + if (this._gridWindowsUpdateInProgress) { + this._pendingDesktopList = newdesktoplist; + return; + } + + const changeInfo = + this._computeDesktopChangeInfo(newdesktoplist); + + const { + firstDesktop, + monitorCountChanged, + monitorschangedList, + gridschangedList, + monitorschanged, + gridschanged, + redisplay, + } = changeInfo; + + // Allow initial startup if no desktops defined on initiation + if (firstDesktop) { + await this._handleFirstDesktop(); + return; + } + + // If any new monitors plugged in or removed + // by creating new desktops + if (monitorCountChanged) { + await this._handleMonitorCountChange(); + return; + } + + if (redisplay) { + await this._handleRedisplay({ + monitorschangedList, + gridschangedList, + monitorschanged, + gridschanged, + redisplay, + }); + } + } + + async _handleFirstDesktop() { + this._desktopManager.clearAllLayersFromGrids(); + await this.createGridWindows(); + + // sanity checks and icons placement on grid will be done by + // desktopManager in sync startup + } + + async _handleMonitorCountChange() { + this._gridWindowsUpdateInProgress = true; + // monitor has been plugged in or removed. + this._desktopManager.clearAllLayersFromGrids(); + await this.createGridWindows(); + + await this._desktopManager.applyDesktopLayoutChange({ + redisplay: true, + monitorschanged: true, + gridschanged: true, + }); + + this._gridWindowsUpdateInProgress = false; + await this._drainPendingUpdates(); + } + + async _drainPendingUpdates() { + if (this._gridWindowsUpdateInProgress) + return; + + const next = this._pendingDesktopList; + this._pendingDesktopList = null; + + if (next != null) + await this.updateGridWindows(next); + + this.queue_draw(); + } + + async _handleRedisplay({ + monitorschangedList, + gridschangedList, + monitorschanged, + gridschanged, + redisplay, + }) { + if (!redisplay) + return; + + this._gridWindowsUpdateInProgress = true; + await this._displayDesktopSnapShots(); + this._desktopManager.clearAllLayersFromGrids(); + + this._desktops.forEach((desktop, index) => { + desktop.updateGridDescription(this._desktopList[index]); + + if (monitorschangedList.includes(index)) { + desktop.resizeWindow(); + desktop.resizeGrid(); + } else if (gridschangedList.includes(index)) { + desktop.resizeGrid(); + } + }); + + // There is a subtle difference here, all information is needed + // + // gridschanged implies prior grid information is available. + // Therefore write mode is 'PRESERVE' initially + // + // monitors changed implies that all coordintes are rewritten to the + // new monitor relative coordinates with a write mode of 'OVERWRITE' + // + // redisplay re-arranges all the icons on the new desktop monitor, + // essential for proper sorting/stacking of icons and arranging of + // icons + // + // For keep arranged new coordinates are automatically written to + // grid. However for stacked co-ordinates- we will neeed to redo the + // old coordinates seperately in do stacks with nonitorschanged info + await this._desktopManager.applyDesktopLayoutChange({ + redisplay, + monitorschanged, + gridschanged, + }); + + // animate to the new margins and positions + // force a queue draw of all windows now that we have drawn the desktop, + // and poke mutter to map the meta window. + this._displayAnimationToLive(); + + this._gridWindowsUpdateInProgress = false; + await this._drainPendingUpdates(); + } + + + _updatePrimaryStateAndZoomInfo(newdesktoplist) { + // Save prior primary state + this._priorPrimaryIndex = this._primaryIndex ?? null; + this._priorPrimaryMonitorIndex = this._primaryMonitorIndex ?? 0; + + // Compute new primary index + let newPrimaryIndex; + + if (newdesktoplist.length > 0 && + ('primaryMonitor' in newdesktoplist[0])) + newPrimaryIndex = newdesktoplist[0].primaryMonitor ?? null; + + // Update primary index if changed + if (newPrimaryIndex !== this._priorPrimaryIndex) + this._primaryIndex = newPrimaryIndex; + + // Find the new primary monitor + this._primaryScreen = this._desktopList[this._primaryIndex] ?? null; + this._primaryMonitorIndex = this._primaryScreen.monitorIndex ?? null; + + // See if there are different zooms in the desktops + this._differentZooms = this._desktopList.some((d, index) => { + const nextd = this._desktopList[index + 1]; + if (nextd != null) + return d.zoom !== nextd.zoom; + return false; + }); + } + + _computeDesktopChangeInfo(newDesktopList) { + const priorDesktopList = this._desktopList; + this._priorDesktopList = priorDesktopList; + + this._desktopList = newDesktopList; + + this._updatePrimaryStateAndZoomInfo(newDesktopList); + + // Allow initial startup if no desktops defined on initiation + const firstDesktop = + priorDesktopList.some(d => typeof d !== 'object' || d == null) || + priorDesktopList.length === 0; + + const monitorCountChanged = + priorDesktopList.length !== newDesktopList.length; + + const monitorschangedList = []; + const gridschangedList = []; + + // If this is the first desktop, we don't need finer diffing; + if (firstDesktop) { + return { + firstDesktop, + monitorCountChanged, + monitorschangedList, + gridschangedList, + monitorschanged: false, + gridschanged: false, + redisplay: false, + }; + } + + // if no change in monitors, check if any change in monitor geometry + // or if any change in grid geometry + newDesktopList.forEach((area, index) => { + const area2 = priorDesktopList[index]; + + if (!area || !area2) { + // Monitor count changed; mark this index as changed and skip diff + monitorschangedList.push(index); + gridschangedList.push(index); + return; + } + + if ((area.x !== area2.x) || + (area.y !== area2.y) || + (area.width !== area2.width) || + (area.height !== area2.height) || + (area.zoom !== area2.zoom) || + (area.monitorIndex !== area2.monitorIndex) + ) { + monitorschangedList.push(index); + gridschangedList.push(index); + return; + } + + if ((area.marginTop !== area2.marginTop) || + (area.marginBottom !== area2.marginBottom) || + (area.marginLeft !== area2.marginLeft) || + (area.marginRight !== area2.marginRight) + ) { + if (!gridschangedList.includes(index)) + gridschangedList.push(index); + } + }); + + const indexChanged = + this._priorPrimaryMonitorIndex !== this._primaryMonitorIndex; + + // indexChanged implies monitors have changed + // monitors changed or index changed implies grids have changed + // as there may be other actors on the new monitor edge + const monitorschanged = !!monitorschangedList.length || indexChanged; + + // only the grids have changed, no monitor changes + const gridschanged = gridschangedList.length + ? gridschangedList.some(i => !monitorschangedList.includes(i)) + : false; + + // redisplay is needed for sorting and stacking. Icons + // need to be redisplayed if anything changes - the actual fileList + // has not changed + const redisplay = monitorschanged || gridschanged; + + return { + firstDesktop, + monitorCountChanged, + monitorschangedList, + gridschangedList, + monitorschanged, + gridschanged, + redisplay, + }; + } + + async _displayDesktopSnapShots() { + const array = this._desktops.map( + d => d.displaySnapshot() + ); + await Promise.all(array).catch(e => logError(e)); + } + + _displayAnimationToLive() { + this._desktops.forEach(d => d.requestAnimatedRelayout()); + } + + async createGridWindows() { + // Allow startup with no desktops from constructor + // even if no desktops are defined when started by the extension + // desktops can be defined later from updateGridWindows(), dbus + // activation + if (!this._desktopList.length || + this._desktopList.some(d => { + return typeof d !== 'object' || d == null; + })) + return; + + this._desktops.forEach(desktop => desktop.destroy()); + this._desktops = []; + + this._desktopList.forEach((desktop, desktopIndex) => { + const desktopName = + this._asDesktop + ? `@!${desktop.x},${desktop.y};BDHF` + : `DING ${desktopIndex}`; + + this._desktops.push( + new DesktopGrid.DesktopGrid({ + desktopManager: this._desktopManager, + desktopName, + desktopDescription: desktop, + asDesktop: this._asDesktop, + hidden: this._hidden, + desktopIndex, + }) + ); + }); + + const displayPromises = + this._desktops.map(desktop => desktop.ensureMapped()); + + const allocatedPromises = + this._desktops.map(d => d.ensureAllocationComplete()); + + let safegaurd; + try { + safegaurd = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 2000, + () => { + throw new Error( + 'Timeout while waiting for desktop windows to map' + ); + } + ); + await Promise.all(displayPromises); + await Promise.all(allocatedPromises); + } catch (e) { + logError(e); + // if the windows fail to map, we should still proceed + // and poke the desktop windows later. + this.show(); + } + if (safegaurd) + GLib.source_remove(safegaurd); + + if (this._desktopManager.windowsPromiseResolve) + this._desktopManager.windowsPromiseResolve(true); + } + + hide() { + this._desktops.forEach(desktop => desktop.hide()); + this._hidden = true; + } + + show() { + this._hidden = false; + this._desktops.forEach(desktop => { + desktop.show(); + desktop.set_visible(true); + }); + } + + queue_draw() { + this._desktops.forEach(desktop => desktop.queue_draw()); + } + + toggleVisibility() { + if (this._hidden) + this.show(); + else + this.hide(); + } + + toggleWidgetLayers() { + if (!this._Prefs.showDesktopWidgets) + return; + + this._desktops.forEach(desktop => desktop.toggleWidgetLayer()); + } + + lowerWidgetLayers() { + this._desktops.forEach(desktop => desktop.lowerWidgetContainer()); + } + + raiseWidgetLayers() { + this._desktops.forEach(desktop => desktop.raiseWidgetContainer()); + } + + _registerWidgetLayerAction() { + const action = new Gio.SimpleAction({name: 'toggleWidgetLayer'}); + action.connect('activate', () => { + this.toggleWidgetLayers(); + }); + + action.set_enabled(DesktopWidgetCapability); + this._desktopManager.mainApp.add_action(action); + + const lowerAction = new Gio.SimpleAction({name: 'lowerWidgetLayer'}); + lowerAction.connect('activate', () => { + this.lowerWidgetLayers(); + }); + + lowerAction.set_enabled(DesktopWidgetCapability); + this._desktopManager.mainApp.add_action(lowerAction); + + const raiseAction = new Gio.SimpleAction({name: 'raiseWidgetLayer'}); + raiseAction.connect('activate', () => { + this.raiseWidgetLayers(); + }); + + raiseAction.set_enabled(DesktopWidgetCapability); + this._desktopManager.mainApp.add_action(raiseAction); + } + + _getPreferredDisplayDesktop() { + if (!this._desktops.length) + return null; + + if (this._desktops.length === 1) + return this._desktops[0]; + + if (!this._Prefs.showOnSecondaryMonitor && + this._primaryMonitorIndex !== null) { + return this._desktops.filter(d => { + return d.monitorIndex === this._primaryMonitorIndex; + })[0]; + } + + const tempDesktops = this._desktops.filter((desktop, index) => + index !== this._primaryMonitorIndex + ); + + if (this._desktops.length > 1) { + if (tempDesktops.length === 1) + return tempDesktops[0]; + + // Positional algorithms here depending on new geomertry + // of the placed monitors, -FIX ME- currently rudimentary + // only going by position in the index, not by placement geometry. + + if (tempDesktops.length <= this._primaryMonitorIndex) + return tempDesktops[0]; + else + return tempDesktops[tempDesktops.length - 1]; + } + + // Catch All if everything fails + return this._desktops[0]; + } + + destroyDesktops() { + this._desktops.forEach(desktop => desktop.destroy()); + this._desktops = []; + } + + onMutterSettingsChanged() { + for (let desktop of this._desktops) + desktop._premultiplied = this._premultiplied; + + this.requestGeometryUpdate(); + } + + getClosestDesktop(itempositionX) { + let closestDesktop = null; + let closestDistance = 100000000000; + + for (let desktop of this._desktops) { + if (!desktop.isAvailable()) + continue; + + const distance = desktop.getDistance(itempositionX); + + if (distance < closestDistance) { + closestDesktop = desktop; + closestDistance = distance; + } + } + + return closestDesktop; + } + + get desktops() { + return this._desktops; + } + + get desktopList() { + return this._desktopList; + } + + get primaryMonitorIndex() { + return this._primaryMonitorIndex; + } + + get primaryMonitor() { + return this._primaryScreen; + } + + get primaryIndex() { + return this._primaryIndex; + } + + get priorDesktopList() { + return this._priorDesktopList; + } + + get priorPrimaryMonitorIndex() { + return this._priorPrimaryMonitorIndex; + } + + get differentZooms() { + return this._differentZooms; + } + + get preferredDisplayDesktop() { + return this._getPreferredDisplayDesktop(); + } +}; diff --git a/ding/apparmor/gtk4-desktop-icons b/ding/apparmor/gtk4-desktop-icons new file mode 100644 index 0000000..d91be23 --- /dev/null +++ b/ding/apparmor/gtk4-desktop-icons @@ -0,0 +1,12 @@ +# This profile allows everything and only exists to give the +# application a name instead of having the label "unconfined" + +abi , +include + +profile gtk4-ding /usr/share/gnome-shell/extensions/vesperos-taskbar@oxmc.me/ding/app/adw-ding.js flags=(unconfined) { + userns, + + # Site-specific additions and overrides. See local/README for details. + include if exists +} diff --git a/ding/apparmor/gtk4-desktop-icons.in b/ding/apparmor/gtk4-desktop-icons.in new file mode 100644 index 0000000..8dd3801 --- /dev/null +++ b/ding/apparmor/gtk4-desktop-icons.in @@ -0,0 +1,12 @@ +# This profile allows everything and only exists to give the +# application a name instead of having the label "unconfined" + +abi , +include + +profile gtk4-ding @PREFIX@/share/gnome-shell/extensions/vesperos-taskbar@oxmc.me/ding/app/adw-ding.js flags=(unconfined) { + userns, + + # Site-specific additions and overrides. See local/README for details. + include if exists +} diff --git a/ding/apparmor/meson.build b/ding/apparmor/meson.build new file mode 100644 index 0000000..5dccb2b --- /dev/null +++ b/ding/apparmor/meson.build @@ -0,0 +1,8 @@ + +if prefix.startswith('/usr') + configure_file(input: 'gtk4-desktop-icons.in', + output: 'gtk4-desktop-icons', + configuration: {'PREFIX': prefix}, + install: true, + install_dir: '/etc/apparmor.d') +endif \ No newline at end of file diff --git a/ding/data/com.desktop.ding.data.gresource.xml b/ding/data/com.desktop.ding.data.gresource.xml new file mode 100644 index 0000000..6b0bdcb --- /dev/null +++ b/ding/data/com.desktop.ding.data.gresource.xml @@ -0,0 +1,29 @@ + + + + icons/list-add-symbolic.svg + icons/view-grid-symbolic.svg + icons/emblem-system-symbolic.svg + icons/window-close-symbolic.svg + icons/prefs-desktop-symbolic.svg + icons/prefs-files-symbolic.svg + icons/prefs-files.svg + icons/prefs-more-symbolic.svg + icons/prefs-desktop.svg + icons/prefs-more.svg + icons/prefs-tweaks-symbolic.svg + icons/emblem-readonly-symbolic.svg + icons/emblem-symbolic-link-symbolic.svg + icons/emblem-unwriteable-symbolic.svg + icons/stack.svg + icons/edit-delete-symbolic.svg + icons/edit-undo-symbolic.svg + icons/xapp-edit-symbolic.svg + icons/window-pop-out-symbolic.svg + icons/com.desktop.ding.svg + stylesheet.css + com.desktop.ding.desktop + ui/ding-app-chooser.ui + ui/ding-widget-chooser.ui + + diff --git a/ding/data/com.desktop.ding.desktop b/ding/data/com.desktop.ding.desktop new file mode 100644 index 0000000..f575483 --- /dev/null +++ b/ding/data/com.desktop.ding.desktop @@ -0,0 +1,500 @@ +[Desktop Entry] +Type=Application +Name[ar]=حاسوب مكتبي +Name[az]=Axtarış +Name[be]=Значкі працоўнага стала +Name[bg]=Икони на работния плот +Name[bn]=ডেস্কটপ আইকন +Name[ca]=Icones de l' escriptori +Name[cs]=Ikony plochy +Name[da]=Desktopikoner +Name[de]=Desktop-Symbole +Name[el]=Εικονίδια επιφάνειας εργασίας +Name[eo]=Desktop Icons +Name[es]=Iconos de escritorio +Name[et]=Töölaua ikoonid +Name[eu]=Mahaigaineko ikonoak +Name[fa]=Desktop Icons +Name[fi]=Työpöydän kuvakkeet +Name[fr]=Icônes de bureau +Name[ga]=Seirbhís do Chustaiméirí +Name[gl]=Desktop Icons +Name[he]=סמלים בשולחן העבודה +Name[hi]=डेस्कटॉप प्रतीक +Name[hr]=ikona na radnoj površini +Name[hu]=Asztali ikonok +Name[id]=Ikon Desktop +Name[it]=Icone sulla scrivania +Name[ja]=デスクトップアイコン +Name[ka]=სამუშაო დაფის ხატულა +Name[ko]=데스크탑 아이콘 +Name[ky]=Десктоптун иконалары +Name[lv]=Darbvirsmas ikonas +Name[lt]=Darbastalio ženkliukai +Name[ms]=Ikon Desktop Ikon +Name[nb]=Skrivebordsikon +Name[nl]=Bureaubladpictogrammen +Name[pl]=Ikony pulpitu +Name[pt_BR]=Ícones da área de trabalho +Name[pt]=Ícones da área de trabalho +Name[ro]=Pictograme de birou +Name[ru]=Desktop Icons +Name[sk]=Ikony plochy +Name[sl]=Ikone namizja +Name[sq]=Ikonat e Desktopit +Name[sv]=Desktop Icons +Name[ta]=டெச்க்டாப் சின்னங்கள் அளவு +Name[tl]=Desktop Mga Icon +Name[tr]=Masaüstü Icons +Name[th]=ไอคอนของพื้นที่ทํางาน +Name[uk]=Настільні іконки +Name[ur]=فائلز +Name[zh-Hans]=桌面图标 +Name[zh-Hant]=桌面圖示 +Name=Desktop Icons +GenericName[ar]=حاسوب مكتبي +GenericName[az]=Axtarış +GenericName[be]=Значкі працоўнага стала +GenericName[bg]=Икони на работния плот +GenericName[bn]=ডেস্কটপ আইকন +GenericName[ca]=Icones de l' escriptori +GenericName[cs]=Ikony plochy +GenericName[da]=Desktopikoner +GenericName[de]=Desktop-Symbole +GenericName[el]=Εικονίδια επιφάνειας εργασίας +GenericName[eo]=Desktop Icons +GenericName[es]=Iconos de escritorio +GenericName[et]=Töölaua ikoonid +GenericName[eu]=Mahaigaineko ikonoak +GenericName[fa]=Desktop Icons +GenericName[fi]=Työpöydän kuvakkeet +GenericName[fr]=Icônes de bureau +GenericName[ga]=Seirbhís do Chustaiméirí +GenericName[gl]=Desktop Icons +GenericName[he]=סמלים בשולחן העבודה +GenericName[hi]=डेस्कटॉप प्रतीक +GenericName[hr]=ikona na radnoj površini +GenericName[hu]=Asztali ikonok +GenericName[id]=Ikon Desktop +GenericName[it]=Icone sulla scrivania +GenericName[ja]=デスクトップアイコン +GenericName[ka]=სამუშაო დაფის ხატულა +GenericName[ko]=데스크탑 아이콘 +GenericName[ky]=Десктоптун иконалары +GenericName[lv]=Darbvirsmas ikonas +GenericName[lt]=Darbastalio ženkliukai +GenericName[ms]=Ikon Desktop Ikon +GenericName[nb]=Skrivebordsikon +GenericName[nl]=Bureaubladpictogrammen +GenericName[pl]=Ikony pulpitu +GenericName[pt_BR]=Ícones da área de trabalho +GenericName[pt]=Ícones da área de trabalho +GenericName[ro]=Pictograme de birou +GenericName[ru]=Desktop Icons +GenericName[sk]=Ikony plochy +GenericName[sl]=Ikone namizja +GenericName[sq]=Ikonat e Desktopit +GenericName[sv]=Desktop Icons +GenericName[ta]=டெச்க்டாப் சின்னங்கள் அளவு +GenericName[tl]=Desktop Mga Icon +GenericName[tr]=Masaüstü Icons +GenericName[th]=ไอคอนของพื้นที่ทํางาน +GenericName[uk]=Настільні іконки +GenericName[ur]=فائلز +GenericName[zh-Hans]=桌面图标 +GenericName[zh-Hant]=桌面圖示 +GenericName=Desktop Icons +Comment[ar]=جهاز تصوير على الحاسوب المكتبي +Comment[az]=GNOME masa üstü ekran icons +Comment[be]=Паказваць значкі на працоўным стале GNOME +Comment[bg]=Показване на иконите на работния плот на GNOME +Comment[bn]=ডেস্কটপে আইকন প্রদর্শন করা হবে +Comment[ca]=Mostra icones a l'escriptori GNOME +Comment[cs]=Zobrazovat ikony na ploše GNOME +Comment[da]=Vis ikoner på GNOME skrivebordet +Comment[de]=Symbole auf dem Desktop anzeigen +Comment[el]=Εμφάνιση εικονιδίων στην επιφάνεια εργασίας του GNOME +Comment[eo]=Apartaj ikonoj sur la GNOME-tablo +Comment[es]=Mostrar iconos en el escritorio GNOME +Comment[et]=Ikoonide näitamine GNOME töölaual +Comment[eu]=Bistaratu ikonoak GNOME mahaigainean +Comment[fa]=نمایش آیکون ها در دسکتاپ GNOME +Comment[fi]=Näytä kuvakkeet Gnomen työpöydällä +Comment[fr]=Affiche les icônes sur le bureau GNOME +Comment[ga]=Taispeáin deilbhíní ar an GNOME deisce +Comment[gl]=Mostrar iconas no escritorio GNOME +Comment[he]=תגיות: GNOME Desktop +Comment[hi]=GNOME डेस्कटॉप पर आइकन प्रदर्शित करें +Comment[hu]=Ikonok megjelenítése a GNOME asztalon +Comment[id]=Tampilkan ikon pada desktop GNOME +Comment[it]=Visualizza icone sulla scrivania +Comment[ja]=GNOMEデスクトップにアイコンを表示 +Comment[ko]=GNOME 데스크톱에서 아이콘 표시 +Comment[ky]=GNOME үстөлүндө иконаларды көрсөтүү +Comment[lv]=Rādīt GNOME darbvirsmas ikonas +Comment[lt]=GNOME darbastalyje rodyti ženkliukus +Comment[ms]=Ikon ikon pada desktop GNOME +Comment[nb]=Vis ikoner på GNOME-skrivebordet +Comment[nl]=Pictogrammen op het GNOME-bureaublad tonen +Comment[pl]=Wyświetlaj ikony na pulpicie GNOME +Comment[pt_BR]=Exibir ícones na área de trabalho do GNOME +Comment[pt]=Exibir ícones na área de trabalho do GNOME +Comment[ro]=Afișează pictograme pe biroul GNOME +Comment[ru]=Показывать значки на рабочем столе GNOME +Comment[sk]=Zobraziť ikony na pracovnej ploche GNOME +Comment[sl]=Prikaži ikone na namizju GNOME +Comment[sq]=Shfaq ikonat në desktopin GNOME +Comment[sv]=Visa ikoner på GNOME-skrivbordet +Comment[tl]=Ipakita ang mga larawan sa desktop ngrkton +Comment[tr]=GNOME masaüstü ikonları +Comment[th]=แสดงไอคอนบนพื้นที่ทํางานของ GNOME +Comment[uk]=Показати іконки на робочому столі GNOME +Comment[ur]=گنوم ڈیسک ٹاپ پر تصاویر دکھائیں +Comment[zh-Hans]=在 GNOME 桌面上显示图标 +Comment[zh-Hant]=在 GNOME 桌面上顯示圖示 +Comment=Display icons on the GNOME desktop +Keywords[ar]=حواسيب مكتبية؛ وأجهزة تصفية؛ وملفات؛ ومجلات؛ ومجلات؛ وزراعة؛ وهيد؛ والعرض؛ وقطع الطرق؛; +Keywords[az]=masa üstü; vasit;files;folders;manager;arrange;hide;show;starter;kıqraflı; +Keywords[be]=desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;працоўны стол;файлы;папкі;ярлыкі;значкі;лаўнчар; +Keywords[bg]=настолен компютър;икони;файлове;папки;мениджър;аранжимент;скрий;шоу;прозорец;къси клавиши; +Keywords[bn]=ডেস্কটপ;আইকন;সম্প্রদায়;মনন;অবলন;হর্‍;হর্‌;ব্রম;ব্‌স;ব্‌;ব্‌স;ব্‌স; +Keywords[ca]=desktop; icons; files; folders;manager; adevinament; show;launcher; shortcuts; +Keywords[cs]=desktop; ikony; soubory; složky; manažer; zařídit; skrýt; show; spouštěč; zkratky; +Keywords[da]=desktop; ikoner; filer; mapper; manager; arrangere; skjule; show; lancerer; genveje; +Keywords[de]=desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts; +Keywords[el]=desktop; icons;files; folders; manager; arrange; hide; show; launcher; shortcuts; +Keywords[eo]=tablo; fasoj; falantoj; managro;arrange;hide; spektaklo;lanĉilo; mallongigoj; +Keywords[es]=escritorio; icons;files;folders;manager;arrange;hide;show;launcher;shortcuts; +Keywords[et]=töölaud; ikoonid; failid; kataloogid; haldaja; korralda; peita; näidata;launcher; lühilõiked; +Keywords[eu]=mahaigaina;ikonoak;karpetak; kudeatzailea;arrange;hide;show;launcher;shortcuts; +Keywords[fa]=دانلود بازی های رومیزی؛ فایل ها؛ پوشه ها؛manager;arrange;coat;show; launcher; +Keywords[fi]=työpöytä; ikonit; tiedostot; kansiot; manager;arrange;piilota;show;laukaisin; oikosulut; +Keywords[fr]=bureau;icônes;fichiers;dossiers;manager;dispositif;show;lanceur;shortcuts; +Keywords[ga]=deisce;icons; comhaid; fillteáin; bainisteoir; raon; hide; seó; seoladh;gearrtha; +Keywords[gl]=|data de nacemento = [[5 de setembro]] de [[1638]]; +Keywords[he]=שולחן עבודה; מטבעות; פיות; מנדר; ;hide; show;launcher; shortcuts; +Keywords[hi]=डेस्कटॉप; आइकन; फ़ाइल्स; फ़ोल्डर्स; प्रबंधक; व्यवस्था; छिपाना; शो; लांचर; छोटा; +Keywords[hu]=asztali, ikonok, akták, mappák, kezelők, szervezők, bújócskák, bemutatók, kilövők, rövidítések; +Keywords[id]=desktop; ikon; berkas; folder; manajer; atur; sembunyikan; tampilkan; peluncur; jalan pintas; +Keywords[it]=desktop;icone;file;cartelle;gestore;ordine;nascondi;mostra;lanciatore;scorciatoie; +Keywords[ja]=デスクトップ;アイコン;ファイル;フォルダ;マネージャー;範囲;非表示;ショー;ランチャー;ショートカット; +Keywords[ko]=데스크탑; 아이콘; 파일; 폴더; 관리자; 배열; 숨기기; 쇼; 런처; 단축키; +Keywords[ky]=desktop;icons;files; папкалар; башкаруучу; жабуу; шоу; ишке киргизүүчү; кыска жолдор; +Keywords[lv]=darbvirsma;icons;files;folders;manager;arange;hide;show;palaišana;shortcuts; +Keywords[lt]=darbastalis; piktogramos; failai; aplankai; vadovas; organizuoti; slėpti; rodyti; paleidimo; spartieji; +Keywords[ms]=desktop;icons;files;folder;manager;arrange;hide;show;launcher;shortcuts; +Keywords[nb]=desktop;icons;files;folders;manager;arrange;hide;show;lancer;shortcuts; +Keywords[nl]=desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts; +Keywords[pl]=desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts; +Keywords[pt_BR]=desktop; icons; arquivos; pastas; gerenciador; organizar; esconder; mostrar; launcher; atalhos; +Keywords[pt]=desktop; icons; arquivos; pastas; gerenciador; organizar; esconder; mostrar; launcher; atalhos; +Keywords[ro]=desktop;icoane;file;dosare;manager;aranjat;ascunde;arată;lansare;scurtături; +Keywords[ru]=desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;рабочий стол;файлы;значки;комбинации клавиш;папки; +Keywords[sk]=plocha;ikony;súbory; priečinky;správca;usporiadať;skryť;zobraziť;spúšťač;skratky; +Keywords[sl]=namizne; ikone; datoteke; mape; manager; arrange; skrinje; prikaži; zaganjalnik; kratke ure; +Keywords[sq]=j; +Keywords[sv]=desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts; +Keywords[tl]=mga desktop;icon; profile; pepper; manager;arrange;hide;show;launcher; shortcuts; +Keywords[tr]=masaüstü;icons;files;folders;manager;arrange;hide;show; başlatıcı; linecuts; +Keywords[th]=desktop; icons;files; files; manager; aarrange; hyd; show; launcher; sshuts; +Keywords[uk]=робочий стіл;кони;файли; мангери; ланч; ходовий; шоу; лущильник;коротки; +Keywords[ur]=ڈیسک ٹاپ؛ نقل و حمل؛ نقل و حمل؛ manager؛ arrange؛ hide؛ ظاہر؛ کھولاؤ؛; +Keywords[zh-Hans]=桌面; icons; 文件; 文件夹; 管理器; 排列; 隐藏; 显示; 发射器; 短剪; +Keywords[zh-Hant]=桌面; icons; 文件; 收件; 管理; 排列; 隱藏; 顯示; 發射; 短剪; +Keywords=desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts; +Icon=com.desktop.ding + +Exec=gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Extensions.EnableExtension gtk4-ding@smedius.gitlab.com +TryExec=/usr/bin/gdbus +Terminal=false +StartupNotify=false +OnlyShowIn=GNOME; +Categories=Utility;DesktopSettings;Settings; + +X-Ding-SingleMainWindow=false + +Actions=togglevisibility;enable;showshortcuts;preferences;disable; + +[Desktop Action togglevisibility] +Name[ar]=ShowHide +Name[be]=Паказаць<>Схаваць +Name[bg]=Показване < > Скриване +Name[bn]=লুকিয়ে রাখুন +Name[ca]=Mostra <> Amaga +Name[cs]=Zobrazit < > Skrýt +Name[da]=Vis < > Skjul +Name[de]=Gebräuchliche Bezeichnung +Name[el]=Εμφάνιση <>Απόκρυψη +Name[eo]=La jenaj paĝoj ligas al +Name[es]=Mostrar = +Name[et]=Näita <> Peida +Name[eu]=Erakutsi<>Ezkutatu +Name[fa]= Piilota +Name[fr]=Afficher <>Cacher +Name[ga]=Taispeáin níos mó +Name[gl]=Mostrar Elrejtés +Name[id]=Tampilkan < > Sembunyikan +Name[it]=Mostra<>Nascondi +Name[ja]=ショー<> +Name[ka]=ჩვენება / დამალვა +Name[ko]=쇼<>머리 +Name[ky]=Көрсөтүңүз <> Жашыруун +Name[lv]=Rādīt 'slēpt' +Name[lt]=Rodyti < > Slėpti +Name[ms]=Show<>Sembunyikan +Name[nb]=Vis<> Skjul +Name[nl]=Toon <>Verbergen +Name[oc]=Afichar/Amagar +Name[pl]=Pokaż<>Ukryj +Name[pt_BR]=Mostrar <>Esconder +Name[pt]=Mostrar <>Esconder +Name[ro]=Arată < > Ascunde +Name[ru]=Показать<>Скрыть +Name[sk]=Zobraziť<>Skryť +Name[sl]=Prikaži <>Skrij +Name[sq]=Shfaq<>fshi +Name[sv]=Visa <>Hide +Name[ta]=காட்டு/மறைக்க +Name[tl]=Ipakita<>Hide +Name[tr]=Show<>Hide +Name[th]=แสดง Приховати +Name[ur]=طےشدہ +Name[zh-Hans]=显示 {} 隐藏 +Name[zh-Hant]=顯示 {} 隱藏 +Name=Show<>Hide +Exec=gapplication action com.desktop.ding toggleVisibility + +[Desktop Action enable] +Name[ar]=التمكين +Name[az]=Qeydiyyat +Name[be]=Уключыць +Name[bg]=Включване +Name[bn]=সক্রিয় করুন +Name[ca]=Habilita +Name[cs]=Povolit +Name[da]=Aktivér +Name[de]=Ermöglichen +Name[el]=Ενεργοποίηση +Name[eo]=Enable +Name[es]=Habilitación +Name[et]=Luba +Name[eu]=Gaitu +Name[fa]=گزینه Enable +Name[fi]=Käytä +Name[fr]=Activer +Name[fur]=Abilite +Name[ga]=Cumasaigh +Name[gl]=Habilitar +Name[he]=הפעלה +Name[hi]=सक्षम +Name[hr]=Omogući +Name[hu]=Engedélyezés +Name[id]=Aktifkan +Name[it]=Abilita +Name[ja]=アクセス +Name[ka]=ჩართვა +Name[ko]=이름 * +Name[ky]=Мүмкүн +Name[lv]=Ieslēgt +Name[lt]=Įjungti +Name[ms]=Hidupkan +Name[nb]=Slå på +Name[nl]=Inschakelen +Name[oc]=Activar +Name[pl]=Włącz +Name[pt_BR]=Activar +Name[pt]=Activar +Name[ro]=Activează +Name[ru]=Включить +Name[sk]=Zapnúť +Name[sl]=Omogoči +Name[sq]=Aktivo +Name[sv]=Aktivera +Name[ta]=இயக்கு +Name[tl]=Kaibig - ibig +Name[tr]=Enable +Name[th]=เปิด +Name[uk]=Увімкнути +Name[ur]=فعال کریں +Name[zh-Hans]=启用 +Name[zh-Hant]=開啟 +Name=Enable +Exec=gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Extensions.EnableExtension gtk4-ding@smedius.gitlab.com + +[Desktop Action showshortcuts] +Name[ar]=الطرق القصيرة +Name[az]=Tarix +Name[be]=Спалучэнні клавіш +Name[bg]=Бързи пътища +Name[bn]=শর্ট- কাট +Name[ca]=Dreceres +Name[cs]=Zkratky +Name[da]=Genveje +Name[de]=Tastenkürzel +Name[el]=Συντομεύσεις +Name[eo]=Mallongigoj +Name[es]=Accesos directos +Name[et]=Otseteed +Name[eu]=Lasterbideak +Name[fa]=میانبرها +Name[fi]=Pikanäppäimet +Name[fr]=Raccourcis +Name[fur]=Scurtis +Name[ga]=Gearáin agus Cur i bhFeidhm +Name[gl]=Shortcuts +Name[he]=קיצורי דרך +Name[hi]=शॉर्टकट +Name[hr]=Prečice +Name[hu]=Gyorsbillentyűk +Name[id]=Pintas +Name[it]=Scorciatoie +Name[ja]=ショートカット +Name[ka]=მალსახმობები +Name[ko]=바로가기 +Name[ky]=Кыска жолдор +Name[lv]=Saīsnes +Name[lt]=Spartieji klavišai +Name[ms]=Pintasan +Name[nb]=Snarveier +Name[nl]=Sneltoetsen +Name[oc]=Acorchis +Name[pl]=Skróty klawiszowe +Name[pt_BR]=Atalhos +Name[pt]=Atalhos +Name[ro]=Scurtături +Name[ru]=Комбинации клавиш +Name[sk]=Skratky +Name[sl]=Bližnjice +Name[sq]=Kombinim përshpejtues +Name[sv]=Genvägar +Name[ta]=குறுக்குவழிகள் +Name[tl]=Mga Maikling Pagputol +Name[tr]=Kısayollar +Name[th]=ปุ่มพิมพ์ลัด +Name[uk]=Шорти +Name[ur]=مختصر +Name[zh-Hans]=快捷键 +Name[zh-Hant]=捷徑 +Name=Shortcuts +Exec=gapplication action com.desktop.ding showShortcutViewer + +[Desktop Action preferences] +Name[ar]=الأفضليات +Name[az]=Qeydiyyat +Name[be]=Параметры +Name[bg]=Преференция +Name[bn]=পছন্দ +Name[ca]=Preferències +Name[cs]=Předvolby +Name[da]=Indstillinger +Name[de]=Vorlieben +Name[el]=Προτιμήσεις +Name[eo]=Preferoj +Name[es]=Preferencias +Name[et]=Eelistused +Name[eu]=Hobespenak +Name[fa]=ترجیحات +Name[fi]=Asetukset +Name[fr]=Préférences +Name[fur]=Preferencis +Name[ga]=Tosaíochtaí +Name[gl]=Preferencias +Name[he]=העדפות +Name[hi]=प्राथमिकता +Name[hr]=Postavke +Name[hu]=Előirányzatok +Name[id]=Preferensi +Name[it]=Preferenze +Name[ja]=リファレンス +Name[ka]=მორგება +Name[ko]=옵션 정보 +Name[ky]=Преференциялар +Name[lv]=Iestatījumi +Name[lt]=Nustatymai +Name[ms]=Keutamaan Anjuta +Name[nb]=Innstillinger +Name[nl]=Voorkeuren +Name[oc]=Preferéncias +Name[pl]=Preferencje +Name[pt_BR]=Preferências +Name[pt]=Preferências +Name[ro]=Preferințe +Name[ru]=Параметры +Name[sk]=Predvoľby +Name[sl]=Lastnosti +Name[sq]=Preferimet +Name[sv]=Föreställningar +Name[ta]=விருப்பத்தேர்வுகள் +Name[tl]=Mga kagustuhan +Name[tr]=Tercihler +Name[th]=ปรับแต่ง +Name[uk]=Налаштування +Name[ur]=ترجیحات +Name[zh-Hans]=首选项 +Name[zh-Hant]=首选项 +Name=Preferences +Exec=gapplication action com.desktop.ding changeDesktopIconSettings + +[Desktop Action disable] +Name[ar]=العجز +Name[az]=Qeydiyyat +Name[be]=Адключыць +Name[bg]=Изключване +Name[bn]=নিষ্ক্রিয় +Name[ca]=Deshabilita +Name[cs]=Zakázat +Name[da]=Deaktivér +Name[de]=Nicht verfügbar +Name[el]=Απενεργοποίηση +Name[eo]=Distingebla +Name[es]=Inhabilitación +Name[et]=Keela +Name[eu]=Desgaitu +Name[fa]=Disable +Name[fi]=Poista käytöstä +Name[fr]=Désactiver +Name[fur]=Disabilitât +Name[ga]=Díroghnaigh gach rud +Name[gl]=Disable +Name[he]=אכזבה +Name[hi]=अक्षम +Name[hr]=Deaktiviraj +Name[hu]=Kikapcsolás +Name[id]=Matikan +Name[it]=Disattiva +Name[ja]=免責事項 +Name[ka]=გამორთვა +Name[ko]=기타 제품 +Name[ky]=Майыптар +Name[lv]=Atslēgt +Name[lt]=Išjungti +Name[ms]=Matikan +Name[nb]=Slå av +Name[nl]=Uitschakelen +Name[oc]=Disable +Name[pl]=Wyłącz +Name[pt_BR]=Desactivar +Name[pt]=Desactivar +Name[ro]=Dezactivează +Name[ru]=Выключить +Name[sk]=Vypnúť +Name[sl]=Onemogoči +Name[sq]=Jo aktiv +Name[sv]=Inaktivera +Name[ta]=முடக்கு +Name[tl]=Hindi Kaya +Name[tr]=Engelliler +Name[th]=ปิดการใช้งาน +Name[uk]=Вимкнути +Name[ur]=منسوخ کریں +Name[zh-Hans]=禁用 +Name[zh-Hant]=禁用 +Name=Disable +Exec=gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Extensions.DisableExtension gtk4-ding@smedius.gitlab.com diff --git a/ding/data/com.desktop.ding.desktop.in b/ding/data/com.desktop.ding.desktop.in new file mode 100644 index 0000000..890a748 --- /dev/null +++ b/ding/data/com.desktop.ding.desktop.in @@ -0,0 +1,38 @@ +[Desktop Entry] +Type=Application +Name=Desktop Icons +GenericName=Desktop Icons +Comment=Display icons on the GNOME desktop +Keywords=desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts; +Icon=com.desktop.ding + +Exec=gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Extensions.EnableExtension gtk4-ding@smedius.gitlab.com +TryExec=/usr/bin/gdbus +Terminal=false +StartupNotify=false +OnlyShowIn=GNOME; +Categories=Utility;DesktopSettings;Settings; + +X-Ding-SingleMainWindow=false + +Actions=togglevisibility;enable;showshortcuts;preferences;disable; + +[Desktop Action togglevisibility] +Name=Show<>Hide +Exec=gapplication action com.desktop.ding toggleVisibility + +[Desktop Action enable] +Name=Enable +Exec=gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Extensions.EnableExtension gtk4-ding@smedius.gitlab.com + +[Desktop Action showshortcuts] +Name=Shortcuts +Exec=gapplication action com.desktop.ding showShortcutViewer + +[Desktop Action preferences] +Name=Preferences +Exec=gapplication action com.desktop.ding changeDesktopIconSettings + +[Desktop Action disable] +Name=Disable +Exec=gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Extensions.DisableExtension gtk4-ding@smedius.gitlab.com diff --git a/ding/data/icons/com.desktop.ding.svg b/ding/data/icons/com.desktop.ding.svg new file mode 100644 index 0000000..186aae1 --- /dev/null +++ b/ding/data/icons/com.desktop.ding.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ding/data/icons/edit-delete-symbolic.svg b/ding/data/icons/edit-delete-symbolic.svg new file mode 100644 index 0000000..4131277 --- /dev/null +++ b/ding/data/icons/edit-delete-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ding/data/icons/edit-undo-symbolic.svg b/ding/data/icons/edit-undo-symbolic.svg new file mode 100644 index 0000000..bd8f05c --- /dev/null +++ b/ding/data/icons/edit-undo-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ding/data/icons/emblem-readonly-symbolic.svg b/ding/data/icons/emblem-readonly-symbolic.svg new file mode 100644 index 0000000..2833107 --- /dev/null +++ b/ding/data/icons/emblem-readonly-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ding/data/icons/emblem-symbolic-link-symbolic.svg b/ding/data/icons/emblem-symbolic-link-symbolic.svg new file mode 100644 index 0000000..ddd19bc --- /dev/null +++ b/ding/data/icons/emblem-symbolic-link-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ding/data/icons/emblem-system-symbolic.svg b/ding/data/icons/emblem-system-symbolic.svg new file mode 100644 index 0000000..63452d9 --- /dev/null +++ b/ding/data/icons/emblem-system-symbolic.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/ding/data/icons/emblem-unwriteable-symbolic.svg b/ding/data/icons/emblem-unwriteable-symbolic.svg new file mode 100644 index 0000000..25b48de --- /dev/null +++ b/ding/data/icons/emblem-unwriteable-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ding/data/icons/list-add-symbolic.svg b/ding/data/icons/list-add-symbolic.svg new file mode 100644 index 0000000..cf68622 --- /dev/null +++ b/ding/data/icons/list-add-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ding/data/icons/meson.build b/ding/data/icons/meson.build new file mode 100644 index 0000000..2bca3ab --- /dev/null +++ b/ding/data/icons/meson.build @@ -0,0 +1,11 @@ +icons_dir = join_paths(datadir, 'icons', 'hicolor', 'scalable', 'apps') + +install_data([ + 'com.desktop.ding.svg', +], +install_dir: icons_dir +) + +gnome.post_install( + gtk_update_icon_cache: true, +) \ No newline at end of file diff --git a/ding/data/icons/prefs-desktop-symbolic.svg b/ding/data/icons/prefs-desktop-symbolic.svg new file mode 100644 index 0000000..4c7a1c4 --- /dev/null +++ b/ding/data/icons/prefs-desktop-symbolic.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/ding/data/icons/prefs-desktop.svg b/ding/data/icons/prefs-desktop.svg new file mode 100644 index 0000000..4c7a1c4 --- /dev/null +++ b/ding/data/icons/prefs-desktop.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/ding/data/icons/prefs-files-symbolic.svg b/ding/data/icons/prefs-files-symbolic.svg new file mode 100644 index 0000000..64ee5eb --- /dev/null +++ b/ding/data/icons/prefs-files-symbolic.svg @@ -0,0 +1,47 @@ + + + + + + + + diff --git a/ding/data/icons/prefs-files.svg b/ding/data/icons/prefs-files.svg new file mode 100644 index 0000000..782c5b4 --- /dev/null +++ b/ding/data/icons/prefs-files.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/ding/data/icons/prefs-more-symbolic.svg b/ding/data/icons/prefs-more-symbolic.svg new file mode 100644 index 0000000..1d62b8e --- /dev/null +++ b/ding/data/icons/prefs-more-symbolic.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/ding/data/icons/prefs-more.svg b/ding/data/icons/prefs-more.svg new file mode 100644 index 0000000..1d62b8e --- /dev/null +++ b/ding/data/icons/prefs-more.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/ding/data/icons/prefs-tweaks-symbolic.svg b/ding/data/icons/prefs-tweaks-symbolic.svg new file mode 100644 index 0000000..e11da07 --- /dev/null +++ b/ding/data/icons/prefs-tweaks-symbolic.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + diff --git a/ding/data/icons/stack.svg b/ding/data/icons/stack.svg new file mode 100644 index 0000000..c5a65a1 --- /dev/null +++ b/ding/data/icons/stack.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + diff --git a/ding/data/icons/view-grid-symbolic.svg b/ding/data/icons/view-grid-symbolic.svg new file mode 100644 index 0000000..eaa6102 --- /dev/null +++ b/ding/data/icons/view-grid-symbolic.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/ding/data/icons/window-close-symbolic.svg b/ding/data/icons/window-close-symbolic.svg new file mode 100644 index 0000000..f68a861 --- /dev/null +++ b/ding/data/icons/window-close-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/ding/data/icons/window-pop-out-symbolic.svg b/ding/data/icons/window-pop-out-symbolic.svg new file mode 100644 index 0000000..da26bb3 --- /dev/null +++ b/ding/data/icons/window-pop-out-symbolic.svg @@ -0,0 +1,8 @@ + + + + + + diff --git a/ding/data/icons/xapp-edit-symbolic.svg b/ding/data/icons/xapp-edit-symbolic.svg new file mode 100644 index 0000000..7c068b6 --- /dev/null +++ b/ding/data/icons/xapp-edit-symbolic.svg @@ -0,0 +1,96 @@ + + + + + + + + + + + + image/svg+xml + + Gnome Symbolic Icon Theme + + + + Gnome Symbolic Icon Theme + + + + + + + + + + + + + diff --git a/ding/data/meson.build b/ding/data/meson.build new file mode 100644 index 0000000..dec7b56 --- /dev/null +++ b/ding/data/meson.build @@ -0,0 +1,27 @@ +desktop_file_dir = join_paths(datadir, 'applications') + +desktop_merged = i18n.merge_file( + input: 'com.desktop.ding.desktop.in', + output: 'com.desktop.ding.desktop', + po_dir: join_paths(meson.project_source_root(), 'po'), + type: 'desktop', + install: true, + install_dir: desktop_file_dir, +) + +gnome.post_install( + update_desktop_database: true, +) + +gnome.compile_resources( + app_id + '.data', + app_id + '.data.gresource.xml', + source_dir: meson.current_source_dir(), + extra_args: ['--sourcedir=' + meson.current_build_dir()], + dependencies: [ desktop_merged ], + gresource_bundle: true, + install: true, + install_dir: join_paths(extensions_dir, app_dir), +) + +subdir('icons') diff --git a/ding/data/stylesheet.css b/ding/data/stylesheet.css new file mode 100644 index 0000000..63fa915 --- /dev/null +++ b/ding/data/stylesheet.css @@ -0,0 +1,241 @@ +/* +Local file for to specify styles for desktop icons + +@define-color desktop_icons_bg_color @theme_selected_accent_color; // Adwaita +@define-color desktop_icons_fg_color @theme_selected_fg_color; + +The above colors are set using javascript code in DesktopManager +with sane fallbacks if theme_slected_colors do not exist, +and then injected into Gdk.Display css before this file is read in and added. +*/ + +box > label.file-label { + margin-top: 0px; + margin-left: 5px; + margin-right: 5px; + text-shadow: 0.6px 0.7px 1px black, 0.1em 0.1em 0.1em black; + color: white; +} + +box > label.file-label-dark { + margin-top: 0px; + margin-left: 5px; + margin-right: 5px; + text-shadow: 0.6px 0.7px 1px white, 0.1em 0.1em 0.1em white; + color: black; +} + +box > label.file-label-vertical { + /* Twice the padding set in box #file-item below to keep spacing between + icon and label constant with shape change */ + margin-top: 4px; +} + +box > #file-item { + padding: 2px; + border-radius: 5px; +} + +box > #file-item:hover { + background-color: alpha(@desktop_icons_fg_color, 0.3); +} + +box > #file-item.mimic-hovered { + background-color: alpha(@desktop_icons_fg_color, 0.3); +} + +box > #file-item.desktop-icons-selected { + background-color: alpha(@desktop_icons_bg_color, 0.3); +} + +box.desktop-icon-container.keyboard-selected { + /* Draw a visible keyboard focus rectangle inside the container */ + box-shadow: inset 0 0 0 2px alpha(@desktop_icons_fg_color, 0.6); + background-color: alpha(@desktop_icons_fg_color, 0.3); + border-radius: 6px; + animation: shadow-descend 150ms ease-out; +} + +box.desktop-icon-container.keyboard-selected.desktop-icons-selected { + background-color: alpha(@desktop_icons_bg_color, 0.3); +} + +/* Avoid double hover shading when keyboard-selected */ +box.desktop-icon-container.keyboard-selected > #file-item:hover, +box.desktop-icon-container.keyboard-selected > #file-item.mimic-hovered, +box.desktop-icon-container.keyboard-selected > #file-item.desktop-icons-selected { + background-color: transparent; +} + +@keyframes shadow-descend { + from { + box-shadow: inset 0 0 0 6px alpha(@desktop_icons_fg_color, 0.0); + } + to { + box-shadow: inset 0 0 0 2px alpha(@desktop_icons_fg_color, 0.6); + } +} + +.not-found { + color: rgb(255, 0, 0); +} + +#desktopwindow.background { + background-blend-mode: normal; + background-clip: border-box; + background-color: transparent; + background-image: none; + background-origin: padding-box; + background-position: left top; + background-repeat: repeat; + background-size: auto; + border-radius: 0px; +} + +#errorstate.background { + background-blend-mode: normal; + background-clip: border-box; + background-color: alpha(red, 0.3); + background-image: none; + background-origin: padding-box; + background-position: left top; + background-repeat: repeat; + background-size: auto; + border-radius: 0px; +} + +#testwindow.background { + background-blend-mode: normal; + background-clip: border-box; + background-color: black; + background-image: none; + background-origin: padding-box; + background-position: left top; + background-repeat: repeat; + background-size: auto; + border-radius: 0px; +} + +.unhighlightdroptarget:drop(active) { + box-shadow: none; +} + +#DingAppChooser treeview { + min-height: 36px; + -gtk-icon-size: 32px; +} + +#ding-widget.dragging { + outline: 2px solid rgba(0, 120, 255, 0.8); + background-color: rgba(0, 120, 255, 0.15); + border-radius: 8px; + transform: scale(1.04); +} + +#ding-widget.ding-widget-selected { + outline: none; + box-shadow: 0 0 0 2px alpha(@desktop_icons_bg_color, 0.9); + background-color: alpha(@desktop_icons_bg_color, 0.12); + border-radius: 8px; +} + +#ding-widget { + border-radius: 8px; + background-color: transparent; +} + +#ding-widget-close-button { + min-width: 28px; + min-height: 28px; + padding: 0; + border-radius: 9999px; + background-color: rgba(0,0,0,0.65); + color: white; + box-shadow: 0 1px 3px rgba(0,0,0,0.18); + transition: opacity 0.15s, background-color 0.15s; + + -gtk-icon-size: 18px; /* symbolic icon size */ +} + +#ding-widget-close-button:hover { + background-color: rgba(0,0,0,0.8); +} + +#ding-widget-close-button:disabled { + background-color: rgba(0,0,0,0.3); + color: rgba(255,255,255,0.5); +} + +#ding-widget-add-button { + min-width: 48px; + min-height: 48px; + padding: 0; + border-radius: 9999px; + + background-color: rgba(0, 0, 0, 0.7); + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45); + color: #fff; + + -gtk-icon-size: 24px; +} + +#ding-widget-add-button:hover { + background-color: rgba(255, 255, 255, 0.25); +} + +#ding-widget-grid-toggle-button { + min-width: 48px; + min-height: 48px; + padding: 0; + border-radius: 9999px; + + background-color: rgba(0, 0, 0, 0.7); + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45); + color: #fff; + + -gtk-icon-size: 24px; +} + +#ding-widget-grid-toggle-button:hover { + background-color: rgba(255, 255, 255, 0.25); +} + +#widget-container { + background-color: transparent; +} + +#widget-container.widgets-on-top { + background-color: rgba(255, 255, 255, 0.25); +} + +#ding-widget-webview { + margin: 0; + padding: 0; + background-color: transparent; + background-image: none; + border: none; + box-shadow: none; + border-radius: 0px; +} + +#ding-widget-prefs-button { + min-width: 28px; + min-height: 28px; + padding: 0; + border-radius: 9999px; + background-color: rgba(0,0,0,0.65); + color: white; + box-shadow: 0 1px 3px rgba(0,0,0,0.18); + transition: opacity 0.15s, background-color 0.15s; + + -gtk-icon-size: 18px; /* match close button */ +} + +#ding-widget-prefs-button:hover { + background-color: rgba(0,0,0,0.8); +} + +#ding-widget-prefs-button:disabled { + background-color: rgba(0,0,0,0.3); + color: rgba(255,255,255,0.5); +} diff --git a/ding/data/ui/ding-app-chooser.ui b/ding/data/ui/ding-app-chooser.ui new file mode 100644 index 0000000..10e44be --- /dev/null +++ b/ding/data/ui/ding-app-chooser.ui @@ -0,0 +1,120 @@ + + + + + 1 + Open File + False + True + True + 420 + 560 + + + vertical + + + True + + + list + + + vertical + + + never + never + true + + + + 18 + 18 + 18 + 18 + + + vertical + 12 + + + True + PANGO_WRAP_WORD_CHAR + center + Choose an app to open the selected files. + + + + + center + True + + + + + + + + + + + vertical + + + + + + + + + + true + false + set_as_default_switch + Always use for this file type + + + end + center + + + + + + + + + + + + + + + + + + + _Cancel + True + + + + + _Open + True + False + + + + ok_button + cancel_button + + + \ No newline at end of file diff --git a/ding/data/ui/ding-widget-chooser.ui b/ding/data/ui/ding-widget-chooser.ui new file mode 100644 index 0000000..c0e637a --- /dev/null +++ b/ding/data/ui/ding-widget-chooser.ui @@ -0,0 +1,71 @@ + + + + + + + 420 + 320 + true + Add Widget + false + + + + + + + false + false + + + + Add Widget + 0.5 + + + + + + Cancel + + + + + + Add + + + + + + + + + + vertical + 0 + 6 + 6 + 6 + 6 + + + + true + true + + + single + + + + + + + + + + diff --git a/ding/dependencies/gettext.js b/ding/dependencies/gettext.js new file mode 100644 index 0000000..025830a --- /dev/null +++ b/ding/dependencies/gettext.js @@ -0,0 +1,7 @@ + +import {domain as gettextDomain} from 'gettext'; + +const Gettext = gettextDomain('gtk4-ding'); +const _ = Gettext.gettext; + +export {Gettext, _}; diff --git a/ding/dependencies/gi.js b/ding/dependencies/gi.js new file mode 100644 index 0000000..68972d3 --- /dev/null +++ b/ding/dependencies/gi.js @@ -0,0 +1,90 @@ +import Adw from 'gi://Adw'; +import Gdk from 'gi://Gdk?version=4.0'; +import GdkPixbuf from 'gi://GdkPixbuf'; +import GdkWayland from 'gi://GdkWayland?version=4.0'; +import GdkX11 from 'gi://GdkX11?version=4.0'; +import Gio from 'gi://Gio'; +import GLib from 'gi://GLib'; +let GLibUnix; +GLibUnix = await import('gi://GLibUnix').then(module => module.default).catch(_e => { + console.log('GLibUnix not found.'); +}); +if (!GLibUnix) { + console.log('Falling back to GLib...'); + GLibUnix = { + 'signal_add_full': GLib.unix_signal_add, + }; +} +import GnomeDesktop from 'gi://GnomeDesktop?version=4.0'; +const GnomeAutoar = await import('gi://GnomeAutoar') + .then(module => module.default) + .catch(e => console.error(e)); +import GObject from 'gi://GObject'; +import Graphene from 'gi://Graphene'; +import Gsk from 'gi://Gsk'; +import Gtk from 'gi://Gtk'; +import Pango from 'gi://Pango'; +const Poppler = await import('gi://Poppler') + .then(module => module.default) + .catch(e => console.error(`Install Poppler for proper fallback pdf thumbnailing \n ${e}`)); +const Cairo = await import('gi://cairo') + .then(module => module.default) + .catch(e => console.error(`Install Cairo for proper fallback pdf thumbnailing \n ${e}`)); +import gettext from 'gettext'; + +const GioUnix = await import('gi://GioUnix?version=2.0') + .then(module => module.default) + .catch(_e => { + console.log('GioUnix not found, falling back to Gio...'); + }); + +var DesktopAppInfo; +// Prefer GioUnix if available (newer GLib ≥ 2.80) +if (GioUnix?.DesktopAppInfo) + DesktopAppInfo = GioUnix.DesktopAppInfo; +else if (Gio?.DesktopAppInfo) + DesktopAppInfo = Gio.DesktopAppInfo; + +if (!DesktopAppInfo) + console.error('DesktopAppInfo is not available on this system!'); + +const WebKit = await import('gi://WebKit?version=6.0') + .then(m => m.default) + .catch(e => { + console.log(`WebKit GI not found; desktop widgets disabled\n${e}`); + return null; + }); + +const Soup = await import('gi://Soup?version=3.0') + .then(m => m.default) + .catch(e => { + console.log(`Soup GI not found; desktop widgets disabled\n${e}`); + return null; + }); + +const DesktopWidgetCapability = !!WebKit && !!Soup; + +export { + Adw, + Cairo, + DesktopAppInfo, + DesktopWidgetCapability, + Gdk, + GdkPixbuf, + GdkX11, + GdkWayland, + gettext, + GLib, + GLibUnix, + GnomeDesktop, + GnomeAutoar, + GObject, + Gio, + Graphene, + Gsk, + Gtk, + Pango, + Poppler, + Soup, + WebKit +}; diff --git a/ding/dependencies/localFiles.js b/ding/dependencies/localFiles.js new file mode 100644 index 0000000..f164893 --- /dev/null +++ b/ding/dependencies/localFiles.js @@ -0,0 +1,41 @@ +export {DesktopFolderUtils} from '../app/utils/desktopFolderUtils.js'; +export * as AdwPreferencesWindow from '../app/adwPreferencesWindow.js'; +export * as AppChooser from '../app/appChooser.js'; +export * as AskRenamePopup from '../app/askRenamePopup.js'; +export * as AutoAr from '../app/autoAr.js'; +export * as DBusInterfaces from '../app/utils/dbusInterfaces.js'; +export * as DBusUtils from '../app/utils/dbusUtils.js'; +export * as DesktopGrid from '../app/desktopGrid.js'; +export * as DesktopIconsUtil from '../app/utils/desktopIconsUtil.js'; +export * as DesktopManager from '../app/desktopManager.js'; +export * as DesktopMonitor from '../app/desktopFolderMonitor.js'; +export * as Enums from '../app/enums.js'; +export * as FileItemMenu from '../app/fileItemMenu.js'; +export * as FileUtils from '../utils/fileUtils.js'; +export * as Preferences from '../app/preferences.js'; +export * as GnomeShellDragDrop from '../app/gnomeShellDragDrop.js'; +export * as GsConnect from '../app/utils/gsConnect.js'; +export * as ShowErrorPopup from '../app/showErrorPopup.js'; +export * as StackItem from '../app/stackItem.js'; +export * as TemplatesScriptsManager from '../app/templatesScriptsManager.js'; +export * as Thumbnails from '../app/thumbnails.js'; +export * as WindowManager from '../app/windowManager.js'; +export * as DesktopMenu from '../app/desktopMenu.js'; +export * as DragManager from '../app/dragManager.js'; +export {IconCreator} from '../app/desktopIconFactory.js'; +export {FileItemIcon} from '../app/fileItemIcon.js'; +export {DesktopIconItem} from '../app/desktopIconItem.js'; +export {VolumeIcon} from '../app/volumeIcon.js'; +export {DesktopFileIcon} from '../app/desktopFileIcon.js'; +export {AppImageFileIcon} from '../app/appImageFileItem.js'; +export {SymLinkIcon} from '../app/symLinkIcon.js'; +export {SpecialFolderIcon} from '../app/specialFolderIcon.js'; +export {ShortcutManager} from '../app/shortcutManager.js'; +export {DefaultShortcuts} from '../app/shortcuts.js'; +export {GlobalShortcuts} from '../app/shortcuts.js'; +export * as WidgetManager from '../app/widgetManager.js'; +export {WidgetRegistry} from '../app/widgetRegistry.js'; +export {HtmlWidgetHost} from '../app/htmlWidgetHost.js'; +export {HtmlWidgetHostWithBackend} from '../app/htmlWidgetHostWithBackend.js'; +export * as WidgetApi from '../app/widgetApi.js'; +export {WebWidgetContext} from '../app/widgetWebContext.js'; diff --git a/ding/dingManager.js b/ding/dingManager.js new file mode 100644 index 0000000..a56ba06 --- /dev/null +++ b/ding/dingManager.js @@ -0,0 +1,1093 @@ +/* eslint-disable no-undef */ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Copyright(C) 2023, 2025 Sundeep Mediratta (smedius@gmail.com) + * Copyright (C) 2019 Sergio Costas (rastersoft@gmail.com) + * Based on code original (C) 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, 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 . + */ +/* exported init, enable, disable */ +import Gio from 'gi://Gio'; +import GLib from 'gi://GLib'; +import Clutter from 'gi://Clutter'; +import Meta from 'gi://Meta'; +import Mtk from 'gi://Mtk'; +import Shell from 'gi://Shell'; + +import * as Main from 'resource:///org/gnome/shell/ui/main.js'; +import * as Config from 'resource:///org/gnome/shell/misc/config.js'; +import * as BoxPointer from 'resource:///org/gnome/shell/ui/boxpointer.js'; + +import * as EmulateX11 from './emulateX11WindowType.js'; +import * as GnomeShellOverride from './gnomeShellOverride.js'; +import * as VisibleArea from './visibleArea.js'; +import * as FileUtils from './utils/fileUtils.js'; +import {GlobalShortcuts} from './dependencies/localFiles.js'; + +const GnomeShellVersion = parseInt(Config.PACKAGE_VERSION.split('.')[0]); + +Gio._promisify( + Gio.DataInputStream.prototype, 'read_line_async', 'read_line_finish_utf8' +); +Gio._promisify(Gio.Subprocess.prototype, 'wait_async'); + +const fileProto = imports.system.version >= 17200 + ? Gio.File.prototype : Gio._LocalFilePrototype; + +Gio._promisify(fileProto, 'enumerate_children_async'); +Gio._promisify(Gio.FileEnumerator.prototype, 'close_async'); +Gio._promisify(Gio.FileEnumerator.prototype, 'next_files_async'); +Gio._promisify(fileProto, 'load_bytes_async'); + +const appID = 'com.desktop.ding'; +const appPath = GLib.build_filenamev(['/', ...appID.split('.')]); + +const ifaceXml = ` + + + + + + + + + + + + + + + +`; + +// Since Gnome Shell 48 the enumeration of the cursor is different +// the name has changed, althugh the value is the same; +// We use our own enumeration names to avoid problems with the version +// of the Gnome Shell, the enumeration integer points to the correct +// value in the Gnome Shell 48 and Meta 48 Enum and earlier. +const ShellDropCursor = { + DEFAULT: 2, // META_CURSOR_DEFAULT Meta.Cursor.DEFAULT + NODROP: 15, // META_CURSOR_NO_DROP Meta.Cursor.DND_UNSUPPORTED_TARGET + COPY: 13, // META_CURSOR_COPY Meta.Cursor.DND_COPY + MOVE: 14, // META_CURSOR_MOVE Meta.Cursor.DND_MOVE +}; + +export {DingManager}; + +const DingManager = class { + constructor(extensionObject) { + this.settings = extensionObject.getSettings('org.gnome.shell.extensions.vesperos-taskbar.desktop-icons'); + this.path = extensionObject.path; + this.metadata = extensionObject.metadata; + this.version = this.metadata['version-name']; + this.uuid = this.metadata.uuid; + this.isWayland = typeof Meta.is_wayland_compositor === 'function' + ? Meta.is_wayland_compositor() + : true; + this._init(); + } + + /** + * Inits the Class + */ + _init() { + this.isEnabled = false; + this.launchDesktop = 0; + this.waylandClient = null; + this.DesktopIconsUsableArea = null; + this.dingExtensionServiceImplementation = null; + this.dingExtensionServiceInterface = null; + + this.GnomeShellOverride = null; + this.GnomeShellVersion = GnomeShellVersion; + this.ShortcutManager = null; + + /* The constructor of the EmulateX11 class only initializes some + * internal properties, but nothing else. In fact, it has its own + * enable() and disable() methods. That's why it could have been + * created here, in init(). But since the rule seems to be NO CLASS + * CREATION IN INIT UNDER NO CIRCUMSTANCES... + */ + this.x11Manager = null; + this.visibleArea = null; + + /* Ensures that there aren't "rogue" processes. + * This is a safeguard measure for the case of Gnome Shell being + * relaunched (for example, under X11, with Alt+F2 and R), to kill + * any old DING instance. That's why it must be here, in init(), + * and not in enable() or disable() (disable already guarantees that + * the current instance is killed). + */ + this.killingProcess = true; + + this._doKillAllOldDesktopProcesses() + .catch(e => console.error(e)) + .finally(() => (this.killingProcess = false)); + } + + + /** + * Enables the extension + */ + enable() { + if (!this.GnomeShellOverride) { + this.GnomeShellOverride = + new GnomeShellOverride.GnomeShellOverride(); + } + + this.GnomeShellOverride.enable(); + + if (!this.x11Manager) + this.x11Manager = new EmulateX11.EmulateX11WindowType(); + + if (!this.DesktopIconsUsableArea) { + this.DesktopIconsUsableArea = new VisibleArea.VisibleArea(); + this.visibleArea = this.DesktopIconsUsableArea; + } + + // If the desktop is still starting up, we wait until it is ready + if (Main.layoutManager._startingUp) { + this.startupPreparedId = + Main.layoutManager.connect( + 'startup-complete', + this._activateDelayedLaunch.bind(this) + ); + } else { + this.startupPrepareId = null; + this._activateDelayedLaunch(); + } + } + + /** + * The true code that configures everything and launches the desktop program + */ + _activateDelayedLaunch() { + if (this.killingProcess) { + this.startupProcessKillWaitId = + GLib.idle_add( + GLib.PRIORITY_DEFAULT, + () => { + if (this.killingProcess) + return GLib.SOURCE_CONTINUE; + + this.startupProcessKillWaitId = 0; + this._activateDelayedLaunch(); + return GLib.SOURCE_REMOVE; + } + ); + + return; + } + + if (this.startupPrepareId) { + Main.layoutManager.disconnect(this.startupPreparedId); + this.startupPreparedId = null; + } + + // under X11 we now need to cheat, so now do all this under wayland + // as well as X + this.x11Manager.enable(); + + /* + * If the desktop geometry changes (because a new monitor has + been added, for example), + */ + this.monitorsChangedId = + Main.layoutManager.connect( + 'monitors-changed', + this._updateDesktopGeometry.bind(this) + ); + + /* + * Any change in the workareas must be detected too, + for example if the used size changes. + */ + this.workareasChangedId = + global.display.connect( + 'workareas-changed', + this._updateDesktopGeometry.bind(this) + ); + + /* + * This callback allows to detect a change in the + working area (like when changing the Scale value) + */ + this.visibleAreaId = + this.visibleArea.connect( + 'updated-usable-area', + this._updateDesktopGeometry.bind(this) + ); + + this.dbusConnectionId = this._acquireDBusName(); + + this.lockSignalhandlerId = + Gio.DBus.session.signal_subscribe( + 'org.gnome.ScreenSaver', + 'org.gnome.ScreenSaver', + 'ActiveChanged', + '/org/gnome/ScreenSaver', + null, + Gio.DBusSignalFlags.NONE, + this._onActiveChanged.bind(this) + ); + + this.isEnabled = true; + + if (this.launchDesktop) + GLib.source_remove(this.launchDesktop); + + this._launchDesktop().catch(e => console.error(e)); + + this.remoteDingActions = Gio.DBusActionGroup.get( + Gio.DBus.session, + appID, + appPath + ); + + this.remoteGeometryUpdateRequestedId = + Gio.DBus.session.signal_subscribe( + appID, + appID, + 'updategeometry', + appPath, + null, + Gio.DBusSignalFlags.NONE, + this._updateDesktopGeometry.bind(this) + ); + + if (!this.ShortcutManager) + this.ShortcutManager = new ShortcutManager(this); + + console.log('Adw-DING enabled.'); + } + + /** + * Disables the extension. + * + * For Gnome > 42 the extension runs with the + * session mode 'unlock-dialog'. This allows the extension to keep running + * when the lock screen comes on. This way, the programs spawned by + * this extension keep running, rendering all the file icons on the desktop. + * When the user logs back in the desktop is already rendered and running, + * the desktop program is not killed on the lock-screen and then launced + * again on unlock. + * + * If disable is called, it explictly kills the desktop program. + * This will hapen on log out. + */ + disable() { + this.isEnabled = false; + this.DesktopIconsUsableArea = null; + this._killCurrentProcess(); + this.GnomeShellOverride.disable(); + this.x11Manager.disable(); + this.visibleArea.disable(); + this.ShortcutManager.disable(); + + if (this.startupProcessKillWaitId) { + GLib.source_remove(this.startupProcessKillWaitId); + this.startupProcessKillWaitId = 0; + } + if (this.startupPreparedId) { + Main.layoutManager.disconnect(this.startupPreparedId); + this.startupPreparedId = 0; + } + if (this.monitorsChangedId) { + Main.layoutManager.disconnect(this.monitorsChangedId); + this.monitorsChangedId = 0; + } + if (this.workareasChangedId) { + global.display.disconnect(this.workareasChangedId); + this.workareasChangedId = 0; + } + if (this.visibleAreaId) { + this.visibleArea.disconnect(this.visibleAreaId); + this.visibleAreaId = 0; + } + if (this.dbusConnectionId) + this._stopDbusService(); + + if (this.lockSignalhandlerId) { + Gio.DBus.session.signal_unsubscribe(this.lockSignalhandlerId); + this.lockSignalhandlerId = 0; + } + if (this.remoteGeometryUpdateRequestedId) { + Gio.DBus.session + .signal_unsubscribe(this.remoteGeometryUpdateRequestedId); + + this.remoteGeometryUpdateRequestedId = 0; + } + + console.log('Adw-DING disabled.'); + } + + /** + * Acquire the DBus Name on the Session Bus + * + */ + _acquireDBusName() { + const ID = Gio.bus_own_name( + Gio.BusType.SESSION, + `${appID}extension`, + Gio.BusNameOwnerFlags.NONE, + this._onBusAcquired.bind(this), + (connection, name) => { + console.log(`${name} DBus Name Acquired`); + this.dbusConnectionName = name; + }, + (connection, name) => { + console.log(`${name} DBus and Name Lost`); + this.dbusConnectionName = null; + } + ); + + return ID; + } + + /** + * Start the Dbus Service + * + * @param {GObject} connection the Dbus Connection + * + */ + _onBusAcquired(connection) { + this.dingExtensionServiceImplementation = + new DingExtensionService(this._updateDesktopGeometry.bind(this)); + + this.dingExtensionServiceInterface = + Gio.DBusExportedObject.wrapJSObject( + ifaceXml, + this.dingExtensionServiceImplementation + ); + + this.dingExtensionServiceImplementation._impl = + this.dingExtensionServiceInterface; + + this.dingExtensionServiceInterface.export( + connection, + `${appPath}extension` + ); + } + + _stopDbusService() { + if (this.dingExtensionServiceInterface) + this.dingExtensionServiceInterface.unexport(); + + this.dingExtensionServiceInterface = null; + + if (this.dingExtensionServiceImplementation) + this.dingExtensionServiceImplementation.disable(); + + this.dingExtensionServiceImplementation = null; + + Gio.bus_unown_name(this.dbusConnectionId); + this.dbusConnectionId = 0; + + if (this.dbusConnectionName) + console.log(`${this.dbusConnectionName} DBus Name Relinquished`); + + this.dbusConnectionName = null; + } + + + /** + * Start stop needed functions with screen locks and unlocks + * + * @param {GObject} connection the Dbus Connection + * @param {string} sender the numeric Dbus Sender address + * @param {string} path the Dbus Sender path + * @param {string} iface the Sender Dbus interface + * @param {string} signal the signal name + * @param {GLib.variant} params the GLib.variant with parameters + */ + _onActiveChanged(connection, sender, path, iface, signal, params) { + const value = params.get_child_value(0); + const locked = value.get_boolean(); + + if (!locked) + this.x11Manager.refreshWindows(); + } + + /** + * Sends updated geometry data to the DING desktop program over DBus + */ + _updateDesktopGeometry() { + if (this.remoteDingActions && + (Main.layoutManager.monitors.length !== 0) + ) { + this.remoteDingActions.activate_action( + 'updateGridWindows', + this._getDesktopGeometry() + ); + } + } + + /** + * Gets current desktop Geometry from visibleArea.js + */ + _getDesktopGeometry() { + let desktopList = []; + let ws = global.workspace_manager.get_workspace_by_index(0); + + for (let monitorIndex = 0; + monitorIndex < Main.layoutManager.monitors.length; + monitorIndex++ + ) { + let area = this.visibleArea.getMonitorGeometry(ws, monitorIndex); + let desktopListElement = new GLib.Variant('a{sd}', { + 'x': area.x, + 'y': area.y, + 'width': area.width, + 'height': area.height, + 'zoom': area.scale, + 'marginTop': area.marginTop, + 'marginBottom': area.marginBottom, + 'marginLeft': area.marginLeft, + 'marginRight': area.marginRight, + monitorIndex, + 'primaryMonitor': Main.layoutManager.primaryIndex, + }); + + desktopList.push(desktopListElement); + } + + return new GLib.Variant('av', desktopList); + } + + /** + * Kills the current desktop program + */ + _killCurrentProcess() { + if (this.launchDesktop) { + GLib.source_remove(this.launchDesktop); + this.launchDesktop = 0; + } + + // kill the desktop program. It will be reloaded automatically. + if (this.waylandClient && this.waylandClient.subprocess) { + this.waylandClient.cancellable.cancel(); + this.waylandClient.subprocess.send_signal(15); + } + + this.waylandClient = null; + this.x11Manager.set_wayland_client(null); + } + + /** + * This function checks all the processes in the system and kills those + * that are a desktop manager from the current user (but not others). + * This allows to avoid having several ones in case gnome shell resets, + * or other odd cases. It requires the /proc virtual filesystem, but + * doesn't fail if it doesn't exist. + */ + async _doKillAllOldDesktopProcesses() { + const procFolder = Gio.File.new_for_path('/proc'); + const processes = await FileUtils.enumerateDir(procFolder); + const thisPath = `gjs ${GLib.build_filenamev([ + this.path, + 'ding', + 'app', + 'adw-ding.js', + ])}`; + + const killPromises = processes.map(async info => { + const filename = info.get_name(); + + const processPath = + GLib.build_filenamev(['/proc', filename, 'cmdline']); + + const processUser = Gio.File.new_for_path(processPath); + + try { + const [binaryData] = await processUser.load_bytes_async(null); + const readData = binaryData.get_data(); + let contents = ''; + + for (let i = 0; i < readData.length; i++) { + if (readData[i] < 32) + contents += ' '; + else + contents += String.fromCharCode(readData[i]); + } + + if (contents.startsWith(thisPath)) { + let proc = + new Gio.Subprocess({argv: ['/bin/kill', filename]}); + + proc.init(null); + console.log(`Killing old DING process ${filename}`); + await proc.wait_async(null); + } + } catch (e) { + } + }); + + await Promise.all(killPromises); + } + + /** + * + * @param {integer} reloadTime Relaunch time after crash in ms + */ + _doRelaunch(reloadTime) { + this.waylandClient = null; + this.x11Manager.set_wayland_client(null); + if (this.isEnabled) { + if (this.launchDesktop) + GLib.source_remove(this.launchDesktop); + + this.launchDesktop = + GLib.timeout_add( + GLib.PRIORITY_DEFAULT, + reloadTime, + () => { + this.launchDesktop = 0; + this._launchDesktop().catch(e => console.error(e)); + return false; + } + ); + } + } + + /** + * Launches the desktop program, passing to it the current desktop geometry + * for each monitor and the path where it is stored. It also monitors it, + * to relaunch it in case it dies or is killed. Finally, it reads STDOUT + * and STDERR and redirects them to the journal, to help debug it. + */ + async _launchDesktop() { + console.log('Launching Adw-DING process'); + let argv = []; + argv.push(GLib.build_filenamev([this.path, 'ding', 'app', 'adw-ding.js'])); + // Specify that it must work as true desktop + argv.push('-E'); + // The current Gnome Shell Version for correct operation of clipboard + // with Gtk4. + argv.push('-V'); + argv.push(`${this.GnomeShellVersion}`); + // The current version of the Extension to show in preferences + argv.push('-v'); + argv.push(`${this.version}`); + // Give the uuid of the extension starting the app + argv.push('-U'); + argv.push(`${this.uuid}`); + + this.waylandClient = new LaunchSubprocess(0, 'Adw-DING'); + this.waylandClient.set_cwd(GLib.get_home_dir()); + this.x11Manager.set_wayland_client(this.waylandClient); + + const launchTime = GLib.get_monotonic_time(); + + let subprocess; + + try { + subprocess = await this.waylandClient.spawnv(argv); + } catch (e) { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) { + console.error( + e, `Error while trying to launch DING process: ${e.message}` + ); + this._doRelaunch(1000); + } + + return; + } + + /* + If the desktop process dies, wait 100ms and relaunch it, unless the + exit status is different than zero, in which case it will wait one + second. This is done this way to avoid relaunching the desktop + too fast if it has a bug that makes it fail continuously, + avoiding filling the journal too fast. + */ + const delta = GLib.get_monotonic_time() - launchTime; + let reloadTime; + + if (delta < 1000000) { + // If the process is dying over and over again, ensure that it isn't + // respawn faster than once per second + reloadTime = 1000; + } else { + // but if the process just died after having run for at least + // one second, reload it ASAP + reloadTime = 1; + } + + if (!this.waylandClient || + subprocess !== this.waylandClient.subprocess + ) + return; + + + if (subprocess.get_if_exited()) + subprocess.get_exit_status(); + + this._doRelaunch(reloadTime); + } +}; + +/** + * This class encapsulates the code to launch a subprocess that can detect + * whether a window belongs to it. It only does this on Wayland, because on X11 + * there is no need to do these tricks. + * + * It is compatible with- + * https://gitlab.gnome.org/GNOME/mutter/merge_requests/754 to simplify the code + * + * @param {int} flags Flags for the SubprocessLauncher class + * @param {string} process_id An string id for the debug output + */ +var LaunchSubprocess = class { + constructor(flags, processId) { + this._processID = processId; + + this._launcher = + new Gio.SubprocessLauncher({ + flags: + flags | + Gio.SubprocessFlags.STDOUT_PIPE | + Gio.SubprocessFlags.STDERR_MERGE, + }); + + this.subprocess = null; + this.process_running = false; + + this.isWayland = typeof Meta.is_wayland_compositor === 'function' + ? Meta.is_wayland_compositor() + : true; + } + + makeWaylandClientSubprocess(argv) { + if (!this.isWayland) + throw new Error('X11, Cannot make Wayland client subprocess'); + + let subprocess; + + // New API introduced in + // https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4491 + if (typeof Meta.WaylandClient.new_subprocess === 'function') { + this._waylandClient = + Meta.WaylandClient.new_subprocess( + global.context, this._launcher, argv + ); + subprocess = this._waylandClient.get_subprocess(); + } else { + // Old APIs + try { + // Previous API + this._waylandClient = + Meta.WaylandClient.new(global.context, this._launcher); + } catch (e) { + // Oldest API + this._waylandClient = Meta.WaylandClient.new(this._launcher); + } + + if (Config.PACKAGE_VERSION === '3.38.0') { + // workaround for bug in 3.38.0 + this._launcher.ref(); + } + + subprocess = this._waylandClient.spawnv(global.display, argv); + } + + return subprocess; + } + + async spawnv(argv) { + try { + if (this.isWayland) + this.subprocess = this.makeWaylandClientSubprocess(argv); + else + this.subprocess = this._launcher.spawnv(argv); + } catch (e) { + this.subprocess = null; + throw e; + } + + if (this.cancellable) + this.cancellable.cancel(); + + const cancellable = new Gio.Cancellable(); + this.cancellable = cancellable; + + // This is for GLib 2.68 or greater + if (this._launcher.close) + this._launcher.close(); + + this._launcher = null; + + /* + This reads STDOUT and STDERR and sends it to the journal using + global.log(). This allows to have any error from the desktop app in the + same journal like other extensions. Every line from the desktop program + is prepended with the "process_id" parameter sent in the constructor. + */ + const dataInputStream = + Gio.DataInputStream.new(this.subprocess.get_stdout_pipe()); + + this.readOutput(dataInputStream, cancellable) + .catch(e => console.error(e)); + + try { + this.process_running = true; + await this.subprocess.wait_async(cancellable); + } finally { + cancellable.cancel(); + this.process_running = false; + + if (this.cancellable === cancellable) + this.cancellable = null; + } + return this.subprocess; + } + + set_cwd(cwd) { + this._launcher.set_cwd(cwd); + } + + async readOutput(dataInputStream, cancellable) { + let textDecoder = new TextDecoder(); + try { + const [output, length] = + await dataInputStream.read_line_async( + GLib.PRIORITY_DEFAULT, + cancellable + ); + + if (length) { + console.log( + `${this._processID}: ${textDecoder.decode(output)}` + ); + } + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) + return; + + console.error(e, `${this._processID}_Error`); + } + + await this.readOutput(dataInputStream, cancellable); + } + + /** + * Queries whether the passed window belongs to the launched subprocess. + * + * @param {MetaWindow} window The window to check. + */ + query_window_belongs_to(window) { + if (!this.isWayland) + return false; + + if (!this.process_running) + return false; + + try { + return this._waylandClient.owns_window(window); + } catch (e) { + return false; + } + } + + query_pid_of_program() { + if (!this.process_running) + return false; + + return this.subprocess.get_identifier(); + } + + show_in_window_list(window) { + if (!this.isWayland || !this.process_running) + return; + + if (typeof window.show_in_window_list === 'function') + // New Gnome 49 API + window.show_in_window_list(); + else + this._waylandClient?.show_in_window_list(window); + } + + hide_from_window_list(window) { + if (!this.isWayland || !this.process_running) + return; + + if (typeof window.hide_from_window_list === 'function') + // New Gnome 49 API + window.hide_from_window_list(); + else + this._waylandClient?.hide_from_window_list(window); + } + + make_desktop_window(window) { + if (window.window_type === Meta.WindowType.DESKTOP) + return true; + + if (!this.isWayland || !this.process_running) + return false; + + try { + this._waylandClient.make_desktop(window); + console.log( + 'Making Wayland window type Desktop with Meta.WaylandClient API' + ); + + return true; + } catch (e) { + console.log( + 'No API to make window type Desktop available!' + ); + } + + return false; + } +}; + +/** + * This class implements the Dbus Services Provided for the extension + */ +var DingExtensionService = class { + constructor(updateDesktopGeometryCB) { + this.geometryUpdate = updateDesktopGeometryCB; + this.synthesizeHover = new SynthesizeHover(); + } + + disable() { + this.synthesizeHover.disable(); + } + + updateDesktopGeometry() { + this.geometryUpdate(); + } + + showShellBackgroundMenu() { + const [X, Y] = global.get_pointer().slice(0, 2); + const rect = new Mtk.Rectangle({x: X, y: Y, width: 1, height: 1}); + const monitorIndex = global.display.get_monitor_index_for_rect(rect); + const backgroundManager = Main.layoutManager._bgManagers[monitorIndex]; + + const backgroundMenu = + backgroundManager?.backgroundActor?._backgroundMenu; + + if (!backgroundMenu) + return; + + Main.layoutManager.setDummyCursorGeometry(X, Y, 0, 0); + backgroundMenu.open(BoxPointer.PopupAnimation.FULL); + } + + getDropTargetAppInfoDesktopFile([dropX, dropY]) { + let droptarget = null; + let actor = null; + + if (!dropX || !dropY) + [dropX, dropY] = global.get_pointer().slice(0, 2); + + actor = + global + .get_stage() + .get_actor_at_pos(Clutter.PickMode.REACTIVE, dropX, dropY); + + let i = 0; + let checkactor; + + while (actor && (i < 10)) { + if (actor._delegate) + checkactor = actor._delegate; + else + checkactor = actor; + + if (checkactor?.app?.appInfo?.get_filename()) { + droptarget = checkactor.app.appInfo.get_filename(); + break; + } + + if (checkactor?.location?.get_uri()) { + droptarget = checkactor.location.get_uri(); + break; + } + + i += 1; + actor = actor.get_parent(); + } + + if (droptarget) { + this.synthesizeHover.hoverOver(checkactor); + return droptarget; + } else { + return 'null'; + } + } + + setDragCursor(cursor) { + switch (cursor) { + case 'dndMoveCursor': + global.display.set_cursor(ShellDropCursor.MOVE); + break; + case 'dndCopyCursor': + global.display.set_cursor(ShellDropCursor.COPY); + break; + case 'dndNoDropCursor': + global.display.set_cursor(ShellDropCursor.NODROP); + break; + default: + global.display.set_cursor(ShellDropCursor.DEFAULT); + } + } + + getShellGlobalCoordinates() { + const x = global.get_pointer(); + + return x; + } +}; + +/** This class simulates a hover on the Dock so that the dock app items + * can be visible and scroll automatically on drops. + */ +var SynthesizeHover = class { + constructor() { + this._hoveredActor = null; + this._hoverTimeoutID = 0; + } + + disable() { + this._cancelCurrentTimer(); + + if (this._hoveredActor) + this._hoveredActor.set_hover(false); + + this._hoveredActor = null; + } + + hoverOver(newactor) { + // eslint-disable-next-line eqeqeq + if (newactor == this._hoveredActor) { + this._resetHoverTimer(); + + return; + } + + if (this._hoveredActor) + this._hoveredActor.set_hover(false); + + this._cancelCurrentTimer(); + this._hoveredActor = newactor; + this._hoveredActor.sync_hover(); + this._setNewHoverTimer(); + } + + _resetHoverTimer() { + this._cancelCurrentTimer(); + this._setNewHoverTimer(); + } + + _cancelCurrentTimer() { + if (this._hoverTimeoutID) + GLib.source_remove(this._hoverTimeoutID); + + this._hoverTimeoutID = 0; + } + + _setNewHoverTimer() { + this._hoverTimeoutID = + GLib.timeout_add( + GLib.PRIORITY_DEFAULT, + 500, + () => { + if (this._hoveredActor) + this._hoveredActor.set_hover(false); + + this._hoveredActor = null; + this._hoverTimeoutID = 0; + + return false; + } + ); + } +}; + +/** This class sets global keyboard acclelerators for our application + */ +var ShortcutManager = class { + constructor(dingManager) { + // Define default keybindings with their corresponding action + this.keyBindings = GlobalShortcuts; + this._settings = dingManager.settings; + this._remoteAction = dingManager.remoteDingActions; + this._windowManager = Main.wm; + this._enableShortcuts(); + this._monitorShortcuts(); + } + + disable() { + this._settings.disconnect(this._monitorID); + this._monitorID = 0; + this._disableShortcuts(); + } + + _enableShortcuts() { + for (let name in this.keyBindings) + this._addKeyBinding(name); + } + + _disableShortcuts() { + for (let name in this.keyBindings) + this._windowManager.removeKeybinding(name.toLowerCase()); + } + + _addKeyBinding(name) { + try { + Main.wm.addKeybinding( + name.toLowerCase(), + this._settings, + Meta.KeyBindingFlags.IGNORE_AUTOREPEAT, + Shell.ActionMode.NORMAL, + () => { + this._activateRemoteAction(name); + } + ); + } catch (e) { + log(`Error adding keybinding for ${name}: ${e}`); + } + } + + _activateRemoteAction(action) { + if (this._remoteAction && + (Main.layoutManager.monitors.length !== 0) + ) { + this._remoteAction.activate_action( + action, + null + ); + } + } + + _monitorShortcuts() { + this._monitorID = this._settings.connect( + 'changed', + (obj, key) => { + for (const actionName in this.keyBindings) { + if (actionName.toLowerCase() === key) { + this._updatebinding(actionName); + break; + } + } + } + ); + } + + _updatebinding(key) { + this._windowManager.removeKeybinding(key.toLowerCase()); + this._addKeyBinding(key); + } +}; diff --git a/ding/emulateX11WindowType.js b/ding/emulateX11WindowType.js new file mode 100644 index 0000000..d52c53f --- /dev/null +++ b/ding/emulateX11WindowType.js @@ -0,0 +1,839 @@ +/* Emulate X11WindowType + * + * Copyright (C) 2022 Sundeep Mediratta (smedius@gmail.com) + * 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 . + */ +/* global global */ +/* exported EmulateX11WindowType */ +import Gio from 'gi://Gio'; +import GLib from 'gi://GLib'; +import Clutter from 'gi://Clutter'; +import Meta from 'gi://Meta'; +import * as Main from 'resource:///org/gnome/shell/ui/main.js'; +import * as DND from 'resource:///org/gnome/shell/ui/dnd.js'; +import * as AppFavorites from 'resource:///org/gnome/shell/ui/appFavorites.js'; +import * as Utils from 'resource:///org/gnome/shell/misc/util.js'; + +export {EmulateX11WindowType}; + +const appID = 'com.desktop.ding'; +const appPath = GLib.build_filenamev(['/', ...appID.split('.')]); + +class ManageWindow { + /* This class is added to each managed window, and it's used to make it + behave like an X11 Desktop window. + + Trusted windows will set in the title the characters @!, followed by + the coordinates where to put the window separated by a colon, and + ended in a semicolon. After that, it can have one or more of these + letters: + + * B : put and always keep this window at the bottom of the stack of + windows on screen + * T : put and always keep this window at the top of the stack of + windows on the screen + * D : show this window in all desktops + * H : hide this window from the window list + + Using the title is generally not a problem because the desktop windows + do not have a title. But some other windows may have and still need to + set a title and use this class, so adding a single blank space at the + end of the title is equivalent to @!H, and having two blank spaces at + the end of the title is equivalent to @!HTD. This allows use of these + flags for decorated or titled windows. + */ + + constructor(window, waylandClient, changedStatusCB) { + this.isWayland = typeof Meta.is_wayland_compositor === 'function' + ? Meta.is_wayland_compositor() + : true; + this._isX11 = !this.isWayland; + this._waylandClient = waylandClient; + this._window = window; + this._signalIDs = []; + this._onIdleChangedStatusCallback = changedStatusCB; + + this._titleID = this._window.connect('notify::title', () => { + this.refreshProperties(); + }); + + this._parseTitle(); + this._attachControllers(); + } + + disconnect() { + this._disconnetSignalsAndTimeouts(); + + if (this._titleID) + this._window.disconnect(this._titleID); + this._titleID = 0; + + if (this._keepAtTop) + this._window.unmake_above(); + + this._window = null; + this._waylandClient = null; + } + + _disconnetSignalsAndTimeouts() { + for (let signalID of this._signalIDs) { + if (signalID) + this._window.disconnect(signalID); + } + this._signalIDs = []; + + if (this._checkOnAllWorkspacesID) + GLib.source_remove(this._checkOnAllWorkspacesID); + this._checkOnAllWorkspacesID = 0; + + if (this._moveIntoPlaceID) + GLib.source_remove(this._moveIntoPlaceID); + this._moveIntoPlaceID = 0; + + if (this._restackedBottomID) + global.display.disconnect(this._restackedBottomID); + this._restackedBottomID = 0; + + if (this._showDesktopID) + global.workspace_manager.disconnect(this._showDesktopID); + this._showDesktopID = 0; + + if (this._restackedTopID) + global.display.disconnect(this._restackedTopID); + this._restackedTopID = 0; + } + + set_wayland_client(client) { + this._waylandClient = client; + } + + _parseTitle() { + this._x = null; + this._y = null; + this._keepAtBottom = false; + this._keepAtTop = false; + this._showInAllDesktops = false; + this._hideFromWindowList = false; + this._fixed = false; + this._desktopWindow = false; + let title = this._window.get_title(); + + if (!title && !!this._window.get_transient_for()) { + // Transient dialog window + // Does not have title, hide from windowlist + title = '@!H'; + } + + if (title !== null) { + if ((title.length > 0) && (title[title.length - 1] === ' ')) { + if ((title.length > 1) && (title[title.length - 2] === ' ')) + title = '@!HTD'; + else + title = '@!H'; + } + + let pos = title.search('@!'); + + if (pos !== -1) { + let pos2 = title.search(';', pos); + let coords; + + if (pos2 !== -1) + coords = title.substring(pos + 2, pos2).trim().split(','); + else + coords = title.substring(pos + 2).trim().split(','); + + try { + this._x = parseInt(coords[0]); + this._y = parseInt(coords[1]); + } catch (e) { + global.log(`Exception ${e.message}.\n${e.stack}`); + } + + try { + let extraChars = + title.substring(pos + 2).trim().toUpperCase(); + + for (let char of extraChars) { + switch (char) { + case 'B': + this._keepAtBottom = true; + this._keepAtTop = false; + break; + case 'T': + this._keepAtTop = true; + this._keepAtBottom = false; + break; + case 'D': + this._showInAllDesktops = true; + break; + case 'H': + this._hideFromWindowList = true; + break; + case 'F': + this._fixed = true; + break; + } + } + + this._desktopWindow = + this._keepAtBottom && + !this._keepAtTop && + this._showInAllDesktops && + this._hideFromWindowList; + } catch (e) { + global.log(`Exception ${e.message}.\n${e.stack}`); + } + } + } + } + + _attachControllers() { + if (this._fixed) + this._keepFixedWindowPosition(); + + if (this._hideFromWindowList) + this._keepWindowHidden(); + else + this._unhideWindow(); + + if (this._keepAtTop) + this._keepWindowOnTop(); + else if (this._window.above) + this._window.unmake_above(); + + if (this._keepAtBottom & !this._desktopWindow) + this._keepWindowAtBottom(); + + if (this._showInAllDesktops & !this._desktopWindow) + this._showWindowOnAllDesktops(); + else if (this._window.on_all_workspaces) + this._window.unstick(); + + if (this._desktopWindow) { + if (typeof this._window.set_type === 'function') { + this._window.set_type(Meta.WindowType.DESKTOP); + console.log('Setting window type to desktop with Gnome 49 API'); + // In future, Meta.WaylandClient.make_desktop(window) will not + // be necessary. + } else { + this._makeWindowTypeDesktop(); + } + } + } + + _keepFixedWindowPosition() { + this._signalIDs.push( + this._window.connect( + 'position-changed', + () => { + if (this._fixed && + (this._x !== null) && + (this._y !== null) + ) { + this._window.move_frame(true, this._x, this._y); + if (this._window.fullscreen) + this._window.unmake_fullscreen(); + } + } + ) + ); + + this._signalIDs.push( + this._window.connect('notify::minimized', () => { + this._window.unminimize(); + }) + ); + + this._signalIDs.push( + this._window.connect('notify::maximized-vertically', + () => { + if (typeof this._window.is_maximized === 'function' && + !this._window.is_maximized() + ) + this._window.maximize(); + else if (!this._window.maximized_vertically) + this._window.maximize(Meta.MaximizeFlags.VERTICAL); + this._moveIntoPlace(); + } + ) + ); + + this._signalIDs.push( + this._window.connect('notify::maximized-horizontally', + () => { + if (typeof this._window.is_maximized === 'function' && + !this._window.is_maximized() + ) + this._window.maximize(); + else if (!this._window.maximized_horizontally) + this._window.maximize(Meta.MaximizeFlags.HORIZONTAL); + this._moveIntoPlace(); + } + ) + ); + + if ((this._x !== null) && (this._y !== null)) + this._window.move_frame(true, this._x, this._y); + } + + _moveIntoPlace() { + if (this._moveIntoPlaceID) + GLib.source_remove(this._moveIntoPlaceID); + + this._moveIntoPlaceID = + GLib.timeout_add(GLib.PRIORITY_LOW, 250, () => { + if (this._fixed && (this._x !== null) && (this._y !== null)) + this._window.move_frame(true, this._x, this._y); + + this._moveIntoPlaceID = 0; + return GLib.SOURCE_REMOVE; + }); + } + + _keepWindowHidden() { + if (!this._isX11 && this._waylandClient) { + this._waylandClient.hide_from_window_list(this._window); + } else { + const xid = this._window.xwindow; + this._setX11windowSkipTaskbar(xid); + } + } + + _unhideWindow() { + if (!this._isX11 && this._waylandClient) { + this._waylandClient.show_in_window_list(this._window); + } else { + const xid = this._window.xwindow; + this._unSetX11windowSkipTaskbar(xid); + } + } + + _keepWindowAtBottom() { + this._signalIDs.push( + this._window.connect( + 'notify::above', + () => { + if (this._keepAtBottom && this._window.above) + this._window.unmake_above(); + } + ) + ); + + this._signalIDs.push( + this._window.connect_after( + 'raised', + () => { + if (this._keepAtBottom) + this._window.lower(); + } + ) + ); + + /* If a window is lowered below us with shortcuts, + detect and fix DING window */ + this._restackedBottomID = global.display.connect('restacked', + this._syncToBottomOfStack.bind(this) + ); + + /* If the desktop is shown with keyboard gnome shortcuts, detect and put + DING window back. + Seems to be needed for X11, works without on Wayland. + */ + if (this._isX11) { + this._showDesktopID = + global.workspace_manager.connect( + 'showing-desktop-changed', + this._activateDesktopWindow.bind(this) + ); + } + + if (this._window.above) + this._window.unmake_above(); + + this._window.lower(); + } + + _keepWindowUnFullScreen() { + this._signalIDs.push( + this._window.connect( + 'notify::fullscreen', + () => { + if (this._window.fullscreen) + this._window.unmake_fullscreen(); + } + ) + ); + + if (this._window.fullscreen) + this._window.unmake_fullscreen(); + } + + _activateDesktopWindow() { + if (this._desktopWindow) + this._window.activate(Meta.CURRENT_TIME); + } + + _syncToBottomOfStack() { + let windows = + global.display + .get_tab_list( + Meta.TabList.NORMAL_ALL, + global.workspace_manager.get_active_workspace() + ); + + windows = global.display.sort_windows_by_stacking(windows); + + if (windows.length > 1 && !windows[0].customJS_ding) + this._moveDesktopWindowToBottom(); + } + + _moveDesktopWindowToBottom() { + if (this._window.fullscreen) + this._window.unmake_fullscreen(); + + if (this._keepAtBottom) + this._window.lower(); + } + + _keepWindowOnTop() { + this._restackedTopID = global.display.connect('restacked', () => { + if (!this._window.above) + this._window.make_above(); + }); + + if (!this._window.above) + this._window.make_above(); + } + + _showWindowOnAllDesktops() { + this._signalIDs.push(this._window.connect('notify::on-all-workspaces', + this._checkOnAllWorkspaces.bind(this) + )); + + this._signalIDs.push(this._window.connect('workspace-changed', + this._checkOnAllWorkspaces.bind(this) + )); + + this._window.stick(); + } + + _checkOnAllWorkspaces() { + if (this._checkOnAllWorkspacesID) + GLib.source_remove(this._checkOnAllWorkspacesID); + + this._checkOnAllWorkspacesID = + GLib.idle_add( + GLib.PRIORITY_LOW, + () => { + if (this._showInAllDesktops && + !this._window.on_all_workspaces + ) { + this._window.stick(); + this._onIdleActivateTopWindowOnActiveWorkspace(); + } + + this._checkOnAllWorkspacesID = null; + return GLib.SOURCE_REMOVE; + } + ); + } + + _makeWindowTypeDesktop() { + if (!this._isX11 && this._waylandClient) { + const desktopWindowTypeSetOnWindow = + this._waylandClient.make_desktop_window(this._window); + + if (!desktopWindowTypeSetOnWindow) { + this._emulateDesktopWindow(); + return; + } + } else { + const xid = this._window.xwindow; + + try { + this._setX11windowTypeDesktop(xid); + } catch (e) { + logError(e); + this._emulateDesktopWindow(); + return; + } + } + + // Window manager bug - it treats request to resize window + // to monitor size as a fullscreen window request as well and makes + // the window fullscreen, more so for legacy X11 apps. + // This makes intellihide for docks/panels hide from desktop window + this._keepWindowUnFullScreen(); + + const activateTopWindowOnWorkspace = true; + this._onIdleChangedStatusCallback({activateTopWindowOnWorkspace}); + } + + _emulateDesktopWindow() { + console.log('Emulating window type Desktop'); + this._window.get_window_type = function () { + return Meta.WindowType.DESKTOP; + }; + + this._keepWindowAtBottom(); + this._showWindowOnAllDesktops(); + const moveDesktopWindowToBottom = true; + const activateTopWindowOnWorkspace = true; + + this._onIdleChangedStatusCallback( + {moveDesktopWindowToBottom, activateTopWindowOnWorkspace} + ); + } + + _onIdleActivateTopWindowOnActiveWorkspace() { + const activateTopWindowOnWorkspace = true; + this._onIdleChangedStatusCallback({activateTopWindowOnWorkspace}); + } + + _setX11windowSkipTaskbar(xid) { + // Unfortunately xprop can set only one of the properties in the state, + // not multiple. + // Stick to setting only skip-taskbar, we can otherwirse also set + // the property for pager, _NET_WM_STATE_SKIP_PAGER + const commandline = `xprop -id ${xid}` + + ' -f _NET_WM_STATE 32a' + + ' -set _NET_WM_STATE' + + ' _NET_WM_STATE_SKIP_TASKBAR'; + + console.log('Making X11 windowtype type skip-taskbar'); + Utils.spawnCommandLine(commandline); + } + + _unSetX11windowSkipTaskbar(xid) { + const commandline = `xprop -id ${xid}` + + ' -f _NET_WM_STATE 32a' + + ' -remove _NET_WM_STATE' + + ' _NET_WM_STATE_SKIP_TASKBAR'; + + console.log('Making X11 windowtype type NOT skip-taskbar'); + Utils.spawnCommandLine(commandline); + } + + _setX11windowTypeDesktop(xid) { + const commandline = `xprop -id ${xid}` + + ' -f _NET_WM_WINDOW_TYPE 32a' + + ' -set _NET_WM_WINDOW_TYPE' + + ' _NET_WM_WINDOW_TYPE_DESKTOP'; + + console.log('Making X11 windowtype type Desktop'); + Utils.trySpawnCommandLine(commandline); + } + + refreshProperties() { + this._disconnetSignalsAndTimeouts(); + this._parseTitle(); + this._attachControllers(); + } + + get hideFromWindowList() { + return this._hideFromWindowList; + } + + get keepAtBottom() { + return this._keepAtBottom; + } + + get desktopWindow() { + return this._desktopWindow; + } +} + +var EmulateX11WindowType = class { + /* + This class does all the heavy lifting for emulating WindowType. + Just make one instance of it, call enable(), and whenever a window + that you want to give "superpowers" is mapped, add it with the + "addWindowManagedCustomJS_ding" method. That's all. + */ + constructor() { + this._windowList = new Set(); + this._overviewHiding = true; + this._waylandClient = null; + this.isWayland = typeof Meta.is_wayland_compositor === 'function' + ? Meta.is_wayland_compositor() + : true; + this._isX11 = !this.isWayland; + } + + set_wayland_client(client) { + this._waylandClient = client; + + for (let window of this._windowList) { + if (window.customJS_ding) + window.customJS_ding.set_wayland_client(this._waylandClient); + } + } + + enable() { + this._idMap = + global.window_manager.connect_after( + 'map', + (obj, windowActor) => { + const window = windowActor.get_meta_window(); + + if (window.get_window_type() > Meta.WindowType.MODAL_DIALOG) + return; + + const appid = window.get_gtk_application_id(); + + if (appid !== appID) + return; + + const windowpid = window.get_pid(); + const mypid = this._waylandClient + ? parseInt(this._waylandClient.query_pid_of_program()) + : null; + + if (this._waylandClient && + this._waylandClient.query_window_belongs_to(window) + ) { + this._addWindowManagedCustomJS_ding( + window, + windowActor + ); + + return; + } + + if (mypid !== null && windowpid === mypid) { + this._addWindowManagedCustomJS_ding( + window, + windowActor + ); + } + } + ); + + /* But in Overview mode it is paramount to not change the workspace to + emulate "stick", or the windows will appear + */ + this._showingId = Main.overview.connect('showing', () => { + this._overviewHiding = false; + }); + + this._hidingId = Main.overview.connect('hiding', () => { + this._overviewHiding = true; + }); + } + + disable() { + if (this._activate_window_ID) { + GLib.source_remove(this._activate_window_ID); + this._activate_window_ID = null; + } + + for (let window of this._windowList) + this._clearWindow(window); + + this._windowList.clear(); + + // disconnect signals + if (this._idMap) { + global.window_manager.disconnect(this._idMap); + this._idMap = null; + } + + if (this._idDestroy) { + global.window_manager.disconnect(this._idDestroy); + this._idDestroy = null; + } + + if (this._showingId) { + Main.overview.disconnect(this._showingId); + this._showingId = null; + } + + if (this._hidingId) { + Main.overview.disconnect(this._hidingId); + this._hidingId = null; + } + } + + _addWindowManagedCustomJS_ding(window, windowActor) { + if (window.get_meta_window) { // it is a MetaWindowActor + window = window.get_meta_window(); + } + + if (this._windowList.has(window)) + return; + + window.customJS_ding = + new ManageWindow( + window, + this._waylandClient, + this.onIdleReStackActivteWindows.bind(this) + ); + + window.actor = windowActor; + windowActor._delegate = new HandleDragActors(windowActor); + this._windowList.add(window); + + window.customJS_ding.unmanagedID = + window.connect( + 'unmanaging', + win => { + this._clearWindow(win); + this._windowList.delete(window); + } + ); + } + + _clearWindow(window) { + window.disconnect(window.customJS_ding.unmanagedID); + window.customJS_ding.disconnect(); + window.customJS_ding = null; + window.actor._delegate = null; + window.actor = null; + } + + _activateTopWindowOnActiveWorkspace() { + let windows = + global.display + .get_tab_list( + Meta.TabList.NORMAL, + global.workspace_manager.get_active_workspace() + ); + + windows = global.display.sort_windows_by_stacking(windows); + + if (windows.length) { + const topWindow = windows[windows.length - 1]; + topWindow.focus(Clutter.CURRENT_TIME); + } + } + + _moveDesktopWindowToBottom() { + for (let window of this._windowList) + window.customJS_ding._moveDesktopWindowToBottom(); + } + + onIdleReStackActivteWindows(action = {activateTopWindowOnWorkspace: true}) { + if (!this._activate_window_ID) { + this._activate_window_ID = + GLib.idle_add( + GLib.PRIORITY_LOW, + () => { + if (this._overviewHiding) { + if (action.moveDesktopWindowToBottom) + this._moveDesktopWindowToBottom(); + + if (action.activateTopWindowOnWorkspace) + this._activateTopWindowOnActiveWorkspace(); + } + + this._activate_window_ID = null; + return GLib.SOURCE_REMOVE; + } + ); + } + } + + // After shell unlock, window seems to lose stick property, + // refresh window properties + refreshWindows() { + for (let window of this._windowList) + window.customJS_ding.refreshProperties(); + } +}; + + +// Since Gnome Shell 48 the enumeration of the cursor is different +// the name has changed, althugh the value is the same; +// We use our own enumeration names to avoid problems with the version +// of the Gnome Shell, the enumeration integer points to the correct +// value in the Gnome Shell 48 and Meta 48 Enum and earlier. +// Using the wrong Enum Name seems to crash mutter +const ShellDropCursor = { + DEFAULT: 2, // META_CURSOR_DEFAULT Meta.Cursor.DEFAULT + NODROP: 15, // META_CURSOR_NO_DROP Meta.Cursor.DND_UNSUPPORTED_TARGET + COPY: 13, // META_CURSOR_COPY Meta.Cursor.DND_COPY + MOVE: 14, // META_CURSOR_MOVE Meta.Cursor.DND_MOVE +}; + +class HandleDragActors { + /* This class is added to each managed windowActor, and it's used to + make it behave like a shell Actor that can accept drops from + Gnome Shell dnd. + */ + + constructor(windowActor) { + this.windowActor = windowActor; + this.remoteDingActions = Gio.DBusActionGroup.get( + Gio.DBus.session, + appID, + appPath + ); + } + + _getModifierKeys() { + let [, , state] = global.get_pointer(); + state &= Clutter.ModifierType.MODIFIER_MASK; + this.isControl = (state & Clutter.ModifierType.CONTROL_MASK) !== 0; + this.isShift = (state & Clutter.ModifierType.SHIFT_MASK) !== 0; + } + + handleDragOver(source) { + if ((source.app ?? null) === null) + return DND.DragMotionResult.NO_DROP; + + this._getModifierKeys(); + + if (this.isShift) { + global.display.set_cursor(ShellDropCursor.COPY); + return DND.DragMotionResult.COPY_DROP; + } + + if (this.isControl) { + global.display.set_cursor(ShellDropCursor.MOVE); + return DND.DragMotionResult.MOVE_DROP; + } + + return DND.DragMotionResult.CONTINUE; + } + + acceptDrop(source, actor, x, y) { + if ((source.app ?? null) === null) + return false; + + let appFavorites = AppFavorites.getAppFavorites(); + let sourceAppId = source.app.get_id(); + let sourceAppPath = source.app.appInfo.get_filename(); + let appIsFavorite = appFavorites.isFavorite(sourceAppId); + + this._getModifierKeys(); + + if (appIsFavorite && !this.isShift) + appFavorites.removeFavorite(sourceAppId); + + if (sourceAppPath && (this.isControl || this.isShift)) { + this.remoteDingActions.activate_action('createDesktopShortcut', + new GLib.Variant('a{sv}', { + uri: GLib.Variant.new_string(`file://${sourceAppPath}`), + X: new GLib.Variant('i', parseInt(x)), + Y: new GLib.Variant('i', parseInt(y)), + }) + ); + } + + appFavorites.emit('changed'); + return true; + } +} diff --git a/ding/gnomeShellOverride.js b/ding/gnomeShellOverride.js new file mode 100644 index 0000000..6bab125 --- /dev/null +++ b/ding/gnomeShellOverride.js @@ -0,0 +1,190 @@ +/* eslint-disable no-invalid-this */ +/* eslint-disable no-undef */ +/* The above is for use of global in this file as Shell.global */ +/* Gnome Shell Override + * + * Copyright (C) 2023 Sundeep Mediratta (smedius@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 . + */ + +/* exported GnomeShellOverride */ + +const {Meta, Clutter, GObject} = imports.gi; + +// Show desktop windows on workspace thumbnails +const SHOW_ON_WORKSPACE_THUMBNAILS = true; +const SHOW_ICONS_ON_OVERVIEW = false; +const ANIMATION_MULTIPLE = 1; + +import {WorkspaceBackground} from 'resource:///org/gnome/shell/ui/workspace.js'; + +import {InjectionManager} from + 'resource:///org/gnome/shell/extensions/extension.js'; + +import * as Main from 'resource:///org/gnome/shell/ui/main.js'; +import * as Util from 'resource:///org/gnome/shell/misc/util.js'; + +export {GnomeShellOverride}; + +var GnomeShellOverride = class { + constructor() { + this._injectionManager = new InjectionManager(); + } + + enable() { + const Background = WorkspaceBackground; + this._injectionManager.overrideMethod(Background.prototype, '_init', + this._newBackgroundInit.bind(this)); + } + + disable() { + this._injectionManager.clear(); + } + + _newBackgroundInit(origninalMethod) { + return function (...args) { + origninalMethod.call(this, ...args); + + /** @enum {number} */ + const ControlsState = { + HIDDEN: 0, + WINDOW_PICKER: 1, + APP_GRID: 2, + }; + + const opaque = 255; + const transparent = 0; + + const adjustment = + Main.overview._overview._controls._stateAdjustment + + function _windowIsOnThisMonitor(metawindow, monitorIndex) { + const geometry = + global.display.get_monitor_geometry(monitorIndex); + + const [intersects] = + metawindow.get_frame_rect().intersect(geometry); + + return intersects; + } + + function _modifyTransparency(value) { + const {initialState, finalState, } = + adjustment.getStateTransitionParams(); + + if ((initialState == ControlsState.HIDDEN || + finalState == ControlsState.HIDDEN) && + (Math.abs(initialState - finalState) == 1)) + return _setTransparency(value); + + return transparent; + } + + function _setTransparency(value) { + if (SHOW_ICONS_ON_OVERVIEW) + return opaque; + return Util.lerp(opaque, transparent, + Math.min(ANIMATION_MULTIPLE * value, 1.0)); + } + + const desktopWindows = global.get_window_actors().filter(a => + a.meta_window.get_window_type() === Meta.WindowType.DESKTOP && + _windowIsOnThisMonitor(a.meta_window, this._monitorIndex)); + + if (desktopWindows.length) { + const desktopLayer = new Clutter.Actor({ + layout_manager: new DesktopLayout(), + clip_to_allocation: true, + }); + + for (let windowActor of desktopWindows) { + const clone = new Clutter.Clone({ + source: windowActor, + }); + + desktopLayer.add_child(clone); + + windowActor.connectObject('destroy', () => { + clone.destroy(); + }, this); + } + + const offset = 0; + + const syncAll = Clutter.BindConstraint.new( + this._bgManager.backgroundActor, + Clutter.BindCoordinate.ALL, + offset); + + desktopLayer.add_constraint(syncAll); + desktopLayer.opacity = _setTransparency(opaque); + + this._stateAdjustment.connectObject('notify::value', + (stAdjustment) => { + if (SHOW_ON_WORKSPACE_THUMBNAILS) + desktopLayer.opacity = + _setTransparency(this._stateAdjustment.value); + else + desktopLayer.opacity = + _modifyTransparency(stAdjustment.value); + }, + this + ); + + this._backgroundGroup.insert_child_above( + desktopLayer, + this._bgManager.backgroundActor + ); + } + }; + } +}; + +class DesktopLayout extends Clutter.LayoutManager { + static { + GObject.registerClass(this); + } + + vfunc_get_preferred_width() { + return [0, 0]; + } + + vfunc_get_preferred_height() { + return [0, 0]; + } + + vfunc_allocate(container, box) { + const monitorIndex = Main.layoutManager.findIndexForActor(container); + const monitor = Main.layoutManager.monitors[monitorIndex]; + const hscale = box.get_width() / monitor.width; + const vscale = box.get_height() / monitor.height; + + for (const child of container) { + const childBox = new Clutter.ActorBox(); + const frameRect = child.get_source()?.metaWindow.get_frame_rect(); + + childBox.set_size( + Math.round(frameRect.width * hscale), + Math.round(frameRect.height * vscale) + ); + + childBox.set_origin( + Math.round((frameRect.x - monitor.x) * hscale), + Math.round((frameRect.y - monitor.y) * vscale) + ); + + child.allocate(childBox); + } + } +} diff --git a/ding/po/LINGUAS b/ding/po/LINGUAS new file mode 100644 index 0000000..b9c29c9 --- /dev/null +++ b/ding/po/LINGUAS @@ -0,0 +1,56 @@ +ar +az +be +bg +bn +ca +cs +da +de +el +eo +es +et +eu +fa +fi +fr +fur +ga +gl +he +hi +hr +hu +id +it +ja +ka +kk +ko +ky +lv +lt +ms +nb +nl +oc +pl +pt_BR +pt +ro +ru +sk +sl +sq +sv +ta +tl +tr +th +uk +ur +zh_CN +zh_TW +zh-Hans +zh-Hant diff --git a/ding/po/POTFILES.in b/ding/po/POTFILES.in new file mode 100644 index 0000000..9918f86 --- /dev/null +++ b/ding/po/POTFILES.in @@ -0,0 +1,46 @@ +app/adw-ding.js +app/adwPreferencesWindow.js +app/appChooser.js +app/appImageFileItem.js +app/askRenamePopup.js +app/autoAr.js +app/desktopFileIcon.js +app/desktopFolderMonitor.js +app/desktopGrid.js +app/desktopIconFactory.js +app/desktopIconItem.js +app/desktopManager.js +app/desktopMenu.js +app/dragManager.js +app/enums.js +app/fileItemIcon.js +app/fileItemMenu.js +app/gnomeShellDragDrop.js +app/preferences.js +app/shortcutManager.js +app/shortcuts.js +app/showErrorPopup.js +app/specialFolderIcon.js +app/stackItem.js +app/symLinkIcon.js +app/templatesScriptsManager.js +app/thumbnails.js +app/volumeIcon.js +app/windowManager.js +app/widgetManager.js +app/widgetRegistry.js +app/widgetWebContext.js +app/htmlWidgetHost.js +app/htmlWidgetHostWithBackend.js +app/utils/dbusUtils.js +app/utils/desktopFolderUtils.js +app/utils/desktopIconsUtil.js +app/utils/gsConnect.js +data/ui/ding-app-chooser.ui +data/com.desktop.ding.desktop.in +desktopIconsIntegration.js +emulateX11WindowType.js +extension.js +prefs.js +visibleArea.js +schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml diff --git a/ding/po/ar.po b/ding/po/ar.po new file mode 100644 index 0000000..fe6644a --- /dev/null +++ b/ding/po/ar.po @@ -0,0 +1,2097 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Eyad , 2024, 2025, 2026. +# Weblate Translation Memory , 2024, 2025, 2026. +# Weblate , 2024, 2025, 2026. +# Abdullah Albaroty , 2025, 2026. +# Yassin Omer , 2026. +# Sundeep Mediratta , 2026. +# anas agha , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:10+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Arabic \n" +"Language: ar\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 ? 4 : 5;\n" +"X-Generator: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "تعديل CSS" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "خصِّص مظهر أيقونات سطح بالمكتب بواسطة CSS" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "تحذير: قد يؤدي هذا إلى تعطيل الإضافة إذا لم يتم بالشكل الصحيح" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "عدل ملف الـCSS..." + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "تطبيق تغييرات الـCSS الآن" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "أعد تحميل الـCSS لتطبيق التغييرات في الحال" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "الاختصارات" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "عدِّل الاختصارات..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "عدِّل اختصارات التطبيق" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "الاختصارات قابلة للتعديل فقط عندما تُفعَّل الإضافة..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "ساعد في الترجمة في متصفحك" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "سطح المكتب" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "الملفات" + +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "تعديلات" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "أكثر" + +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "اعدادات سطح المكتب" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "اعدادات لبرنامج سطح المكتب" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "مجلد سطح المكتب" + +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "سطح المكتب الحالي: " + +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "إعدادات الملفات" + +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "الإعدادات المشتركة مع ملفات Gnome" + +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "تطويعات متنوعة" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "حجم أيقونات سطح المكتب" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "صغير جداً" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "صغير" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "طبيعي" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "كبير" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "محاذاة الأيقونات الجديدة" + +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "الزاوية العلوية اليسرى" + +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "الزاوية العلوية اليمنى" + +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "الزاوية السفلية اليسرى" + +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "الزاوية السفلية اليمنى" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "إضافة الأيقونات الجديدة للشاشات الثانويين أولاً، إذا كانت متاحة" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "ضبط الأيقونات على الشبكة" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "أظهر عناصر سطح المكتب" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "مجلد سطح مكتب جديد" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "تهيئة ملف جديد لسطح المكتب" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "اختر" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "أعد تهيئة سطح مكتبك إلى ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "إستعد مجلد سطح المكتب الإفتراضي" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "إستعادة" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "قم بتمييز شبكة الإسقاط" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "إضافة شعارات معلومات للصلات والتشفير" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "استخدم نص أسود لأسماء الأيقونات" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "اعرض الملف الشخصي على سطح المكتب" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "اعرض ايقونة سلة المحذوفات على سطح المكتب" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "اعرض الأقراص الخارجية على سطح المكتب" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "اعرض محركات شبكة على سطح المكتب" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "أضِف المحركات جديدة إلى الجانب المقابل من سطح المكتب" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "الإجراء المتخذ لفتح الملف" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "نقرة واحدة" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "النقر المزدوج" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "اعرض صورة مصغرة للصور" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "دائما" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "على هذا الحاسب فقط" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "أبداً" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "عرض بند في قائمةلسياق الملف لحذفه بصورة دائمة" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "اظهر الملفات المخفية" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "افتح المجلد عند السحب ومرور المؤشر" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "حول..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "الترجمة" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "ترجمت الآلة باستخدام ليبر ترانسلت تحقق المستعمل وحرر على موقع ويبلت." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "تعديل الترجمة" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "تحقق أو أضف أو صحِّح الترجمة في متصفحك" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "ترجم" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "اختر تطبيقًا لفتحه {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "افتح الملفات" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "افتح المجلد" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "افتح الملف" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "تطبيق خاطئ متغير" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "حدث خطأ أثناء تعيين {foo} كتطبيق افتراضي لـ {mimetype}" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "الانبعاثات غير المستقرة في ملف التذاكر" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "هذه الملفوفة لا تصحح." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "الحق كليك إلى تحرير Properties، ثم:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "تحديد التصاريح، في" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "صلاحيات الآخرين" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "القراءة فقط" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "أو" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "لا شئ" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "تفعيل الخيار" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "السماح بتشغيل الملف كبرنامج" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "ملف غير موثوق به" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "هذا الملف غير موثوق به, لا يمكن تشغيله." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "من أجل تشغيله, أنقر الزر الأيمن, ثم:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "تفعيل" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "السماح بالتشغيل" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "اسم المجلد" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "اسم الملف" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "حسنا" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "تغيير الاسم" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "AutoAr غير مثبت" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"حتى تستطيع التعامل مع الملفات المضغوطة, ثبِّ برنامج file-roller و/أو gir-1.2-" +"gnomeAutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "استخراج الملفات" + +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "ضغط الملفات" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "إلغاء" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "أدخل كلمة السر هنا" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "حذف الملف الجزئي '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "إنشاء مجلد الوجهة" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "استخراج الملفات إلى '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "تم استخراج الملفات" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "اكتمل استخراج '${fullPathFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "ألغي الاستخراج" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "ألغى المستخدم عملية الاستخراج '${fullPathFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "يتطلب ${filename} كلمة مرور" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "خطأ أثناء الاستخراج" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "ضغط الملفات إلى '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "إكمال الضغط" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "وتم الانتهاء من ضغط الملفات في '${outputFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "الضغط ملغى" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "ملف الإخراج '${outputFile}' موجود بالفعل." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "ألغى المستخدم ضغط الملفات إلى '${outputFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "خطأ أثناء الضغط" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "إنشاء أرشيف" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "اسم الأرشيف" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "كلمة السر" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "إنشاء" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "متوافق مع جميع أنظمة التشغيل." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "الملف المحمي بكلمة سر .zip يجب تنزيله على (ويندوز) و (ماك)." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "أرشيفات أصغر لكن (لينكس) و(ماك) فقط." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "أرشيفات أصغر ولكن يجب تنزيلها في ويندوز و ماك." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "سطح المكتب المعروض قابل أن يكتب عليه من قِبل الآخرين" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"ملفات سطح المكتب لا يمكن تشغيلها من سطح المكتب هذا لان مجلد سطح المكتب هذا " +"قابل للكتابة من قبل مستخدمين آخرين.\n" +"\n" +"الرجاء التحقق من أذونات مجلد سطح المكتب هذا, وتأكد من أنه غير قابل للكتابة " +"من الآخرين." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "الملف سطح مكتب مخرب" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"ملف سطح المكتب هذا فيه أخطاء أو يشير إلى برنامج بدون صلاحيات. لا يمكن " +"تشغيله.\n" +"\n" +"عدل الملف لوضع برنامج التنفيذ الصحيح." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "أذونات غير صالحة لملف سطح المكتب" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "ملف سطح المكتب هذا لديه أذونات خاطئة." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "ملف سطح مكتب غير موثوق" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "ملف سطح المكتب هذا غير موثوق به لا يمكن تشغيله." + +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "تعذر فتح الملف" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} لا يمكن فتح ملفات من هذا النوع!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "فشل تغيير ملف سطح المكتب" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "ملف سطح المكتب الجديد هو وصلة رمزية" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "مجلد سطح المكتب الجديد ليس موجوداً أو ليس مجلدا!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "تغيَّر مجلد سطح المكتب" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "جار التبديل إلى سطح مكتب جديد..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "أيقونات سطح المكتب" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +msgid "Back to Desktop" +msgstr "الرجوع لسطح المكتب" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +#, fuzzy +msgid "Toggle Widget Grid" +msgstr "تبديل طبقة العنصر" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "أضف اداة" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "تغيير حجم مخزن إطارات الشاشة غير مفعل" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"شاشات متعددة بإعدادات تكبير/تصغير مختلفة، يوصى بتغيير حجم إطار المخزن المؤقت " +"لكل شاشة.\n" +"\n" +"يرجى تفعيل في إعدادات Mutter Dconf" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"شاشات متعددة مع اعدادات تكبير مختلفة\n" +"\n" +"تفعيل تغيير حجم إطار العرض لكل شاشة في إعدادات Mutter Dconf؟" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "تفعيل" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "لا يمكن عرض سطح المكتب" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"مجلد سطح المكتب {desktop} هو وصلة رمزية\n" +"\n" +"الرجاء تهيئة مجلد سطح المكتب لمجلد حقيقي" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"مجلد سطح المكتب {desktop} غير موجود, أو قد لا يكون مجلداً\n" +"\n" +"تحقق من تثبيت xdg-utils وقم بتهيئته لمجلد سطح المكتب الصحيح" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "لم يتم العثور على ملفات GNOME" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "ملفات تطبيقات GNOME لازمة لتشغيل Gtk4 Desktop Icons NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "لا يوجد مدير ملفات إفتراضي" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "لا يوجد تطبيق يتعامل مع mimetype \"inode/directory\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "ملفات Gnome غير مسجلة كمدير ملفات" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"تطبيق ملفات Gnome غير مبرمج لفتح المجلدات\n" +"تحقق من تثبيت xdg-utils\n" +"تحقق من ملفات Gnome . ملف تنصيب سطح المكتب" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "امسح خياراتك الحالية قبل بدء بحث جديد" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "إعثر على ملفات في سطح المكتب" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "مجلد جديد" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "فشل إنشاء المجلد" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "تعذر إنشاء المجلد" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "تعذر فتح سطح المكتب في ملفات Gnome" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "نافذة التفضيلات مفتوحة" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "هذه النافذة مفتوحة الرجاء الانتقال إلى النافذة النشطة." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "الاعدادات" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "خطأ في انشاء القالب" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "تعذر إنشاء وثيقة" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "الاسم" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "الاسم تنازلي" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "آخر تعديل" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "النوع" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "الحجم" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "حافظ على الترتيب…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "احتفظ بالترتيب حسب النوع…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "رتِّب Home/Drives/Trash…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "تغيير سطح المكتب" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "إستعادة سطح المكتب الإفتراضي" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "إعدادات أيقونات سطح المكتب" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "اعرض الاختصارات" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "وثيقة جديدة" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "لصق" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "تراجع" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "تكرير" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "تحديد الكل" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "رتب الأيقونات" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "الترتيب حسب…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "عرض سطح المكتب في {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "فتح في {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "تحرير العناصر…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "قائمة Shell…" + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "فشل انشاء وصلة رمزية" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "تعذر انشاء وصلة رمزية" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "فشل النسخ/النقل" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} لا يوجد" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "حدد الإجراء المتعلق بالملفات" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "نقل" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "نسخ" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "وصلة" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "مجلد" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "ملف" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "فشل فتح الملف" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "لا يوجد تطبيق مثبت لفتح ملفات \"{fo}\"." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "مجلد جديد يحتوي على {0} عنصر" +msgstr[1] "مجلد جديد يحتوي على {0} عنصر" +msgstr[2] "مجلد جديد يحتوي على {0} عناصر" +msgstr[3] "مجلد جديد يحتوي على {0} عناصر" +msgstr[4] "مجلد جديد يحتوي على {0} عناصر" +msgstr[5] "مجلد جديد يحتوي على {0} عناصر" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "فتح الكل..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "إطلاق" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "فتح بواسطة {foo}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "فتح" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "استخرج هنا" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "استخرج إلى..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "فتح بواسطة..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "فتح الكل بواسطة تطبيق آخر..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "الإطلاق باستخدام بطاقة الرسم المتكاملة" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "جمِّع هذا النوع" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "إلغاء تجميع هذا النوع" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "تشغيل كبرنامج" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "نصوص برمجية" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "قص" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "نقل إلى..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "نسخ إلى..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "اعادة تسمية…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "انشاء وصلة..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "ضغط المجلد {0}" +msgstr[1] "ضغط المجلد {0}" +msgstr[2] "ضغط المجلدات {0}" +msgstr[3] "ضغط المجلدات {0}" +msgstr[4] "ضغط المجلدات {0}" +msgstr[5] "ضغط المجلدات {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "ضغط الملف {0}" +msgstr[1] "ضغط الملف {0}" +msgstr[2] "ضغط الملفات {0}" +msgstr[3] "ضغط الملفات {0}" +msgstr[4] "ضغط الملفات {0}" +msgstr[5] "ضغط الملفات {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "ارسال بالبريد إلى..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "إرسال إلى جهاز الهاتف" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "نقل لسلة المحذوفات" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "حذف نهائي" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "لا تسمح بالإطلاق" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "فرِّغ سلة المحذوفات" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "اخراج" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "فك التركيب" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "خصائص عامة" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "خصائص" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "اظهر كل شيء في {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "عرض في {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "فتح في {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "فتح العنصر" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "الاستخراج ملغي" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "تعذر استخراج الملف, لعدم تحديد مجلد وجهة" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "حدد الوجهة" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "حدِّد" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "لا يمكن ارسال مجلد عن طريق البريد" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "قمت بتحديد مجلد, أتوَد ضغطه لملف .zip أولاً؟" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "خطأ في ارسال البريد" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "تعذر العثور على تعليمة zip، الرجاء تثبيت البرنامج" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "حدث خطأ أثناء إنشاء أرشيف .zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "تعذر العثور على xdg-mail, الرجاء تثبيت البرنامج" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "حدث خطأ أثناء ارسال الملفات بالبريد" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "تعذر فتح مجلد العمل" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "تعذر الفتح في Gnome Console" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "الرجاء تثبيت Gnome Console أو برنامج طرفية آخر" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "تعذر فتح {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "يرجى تثبيت {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "النسخ ملغي" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "تعذر نسخ الملفات، لم يحدَّد مجلد وجهة" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "النقل ملغي" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "تعذر نقل الملفات, لم يحدَّد مجلد وجهة" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ لا يمكن فتح ملفات من هذا النوع!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Console" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "الاختصار الافتراضي:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "نوع جديد..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "زر التعديل + الزر (مثال Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "اعادة ضبط" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "لا مسرع" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "اختصارات النظام" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "اختصارات لوحة المفاتيح الشائعة المعرفة من قبل النظام" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "الاختصارات المحلية" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "اختصارات لوحة المفاتيح للتطبيقات" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "الاختصارات العامة" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "اختصارات النظام للوحة المفاتيح" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "اختصارات لوحة المفاتيح" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "اعادة ضبط الاختصارات" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "أعِد جميع الاختصارات للوضع الافتراضي" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "إعادة ضبط الكل..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "اعرض سطح المكتب في متصفح الملفات" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "افتح في الطرفية" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "تغيير الخلفية" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "تغيير اعدادات الشاشة" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "تغيير اعدادات أيقونات سطح المكتب" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "تنظيف الأيقونات" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "حافظ على الترتيب" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "حافظ على التكديس" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "رتب المجلدات المميزة" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "رتب الأيقونات بالاسم" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "رتب الأيقونات بالاسم تنازليا" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "رتب الأيقونات حسب آخر تعديل" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "رتب الأيقونات حسب النوع" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "رتب الأيقونات حسب الحجم" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "ابحث عن ملفات" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "حدِّث سطح المكتب" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "اظهر الملفات المخفية" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "ألغ تحديد الكل" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "معاينة" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "تبديل طبقة العنصر" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "أضف عنصر" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "اختر الأيقونة على اليسار" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "اختر الأيقونة على اليمين" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "اختر الأيقونة على الأعلى" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "اختر الأيقونة على الأسفل" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "اعرض القائمة" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "عرض قائمة الخلفية Shell" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "أنشئ اختصار سطح المكتب" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "تفعيل تسريع إدخال النصوص" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "إيقاف تسريع إدخال النص" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "عرض مُعاين الاختصارات" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "اعرض أو اخف أيقونات سطح المكتب" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "المزيد من المعلومات" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "الرئيسي" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "سلة المحذوفات" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "المُكدس" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "وصلة معطلة" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "تعذر فتح هذا الملف لأنه وصلة معطلة" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "قُرص" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +msgid "Widget preferences" +msgstr "تفضيلات العناصر" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "عنصر HTML" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "عنصر GTK" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "مستخدم" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "سماح" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "حازم" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" +"يعمل هذا التطبيق ضمن بيئة ويب معزولة تمامًا.\n" +"\n" +"• لا يُسمح باستخدام أي برامج نصية أو إطارات خارجية.\n" +"• يقتصر الوصول إلى الشبكة على طلبات HTTPS الآمنة.\n" +"• لا يُسمح بتشغيل سوى ملفات التطبيق وشفرته المضمنة.\n" +"\n" +"هذا هو الخيار الأكثر أمانًا، ويُنصح به لمعظم التطبيقات." + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "استرخاء" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" +"تتمتع الأداة بإمكانيات ويب أوسع.\n" +"\n" +"• يُسمح بتحميل البرامج النصية الخارجية، والأنماط، والصور، والإطارات من مواقع " +"ويب موثوقة.\n" +"• يُسمح بالوصول إلى الشبكة عبر بروتوكول HTTPS، وWebSockets، وتدفقات الوسائط.\n" +"\n" +"استخدم هذا فقط للأدوات التي تثق بها." + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "تطوير" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" +"تعمل الأداة مع إمكانية الوصول إلى الويب بسهولة لأغراض التطوير.\n" +"\n" +"• يُسمح بالاتصال بخوادم التطوير المحلية (localhost).\n" +"• قد يُسمح بالوصول عبر HTTP وWebSocket لأغراض الاختبار.\n" +"\n" +"هذا الوضع مخصص للتطوير وتصحيح الأخطاء فقط." + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "افتراضي" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" +"تعمل الأداة وفقًا لسياسة أمان ويب محددة مسبقًا.\n" +"\n" +"يتم تقييد الوصول إلى الويب وإمكانياته وفقًا للسياسة المُفعّلة." + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "هل يُسمح بعرض محتوى الويب لـ {widgetId}؟" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" +"قد تقوم الأداة التي تضيفها بتحميل محتوى الويب من الإنترنت.\n" +"\n" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" +"يخضع هذا المحتوى لسياسة أمان الأداة:\n" +"\n" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" +"تقوم هذه الأداة، {widgetId}، بتشغيل عملية في الخلفية على جهاز الكمبيوتر " +"الخاص بك.\n" +"\n" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" +"يعمل النظام الخلفي بصلاحيات المستخدم العادية الخاصة بك، تمامًا مثل أي تطبيق " +"آخر تقوم بتشغيله.\n" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" +"يمكنه الوصول إلى ملفاتك وموارد النظام والشبكة وفقًا لأذونات حساب المستخدم " +"الخاص بك.\n" +"\n" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "تعليمة:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "لا تسمح بهذا إلا للأدوات التي تثق بها تماما." + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "هل يُسمح باستخدام واجهة خلفية للويدجت؟" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +msgid "Widget Preferences" +msgstr "تفضيلات الويدجت" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" غير متاح" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"قم بتثبيت \"${programName}\" لتمكين أيقونات سطح المكتب من تنفيذ هذه " +"الإجراءات." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "اختر مجلد سطح المكتب" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "لم يتم العثور على التعليمة" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "اختر تطبيق لفتح الملفات المختارة." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "استخدم دائما لهذا النوع من الملفات" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_إلغاء" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_فتح" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "اعرض الأيقونات على سطح مكتب GNOME" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "سطح مكتب;أيقونات;ملفات;مجلدات;مدير;ترتيب;اخفاء;اظهار;مشغل;اختصارات;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "عرض<>إخفاء" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "التفضيلات" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "إلغاء تفعيل" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "حجم الأيقونة" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "حدد حجم أيقونات سطح المكتب." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "اظهار المجلد الشخصي" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "أظهر المجلد الشخصي على سطح المكتب." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "أظهر سلة المحذوفات" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "أظهر سلة المحذوفات على سطح المكتب." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "زاوية بدء ظهور الأيقونات الجديدة" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "حدد الزاوية التي ستبدأ من عندها الأيقونات." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "اعرض الأقراص الخارجية في سطح المكتب" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "اعرض محركات الأقراص المتصلة بالحاسب." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "اعرض محركات الاقراص التي على الشبكة في سطح المكتب" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "عرض وحدات التخزين الشبكية المثبتة على سطح المكتب." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "أضف محركات جديدة إلى الجانب المقابل من الشاشة" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"عند إضافة الأقراص والمجلدات إلى سطح المكتب، سيتم إضافتها إلى الجانب الآخر من " +"الشاشة." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "إظهار مستطيل في مكان الوجهة أثناء عملية السحب والإفلات" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"عند القيام بعملية السح والإفلات, يحدد هذا العنصر المكان في الشبكة حيث سيتم " +"وضع الرمز بمستطيل شبه شفاف." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "رتِّب المجلدات الخاصة - محركات الأقراص الرئيسية/المهملات." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"عند ترتيب الأيقونات على سطح المكتب، لفرز وتغيير موضع المجلد الرئيسي، ومجلد " +"المهملات، ومحركات الأقراص المتصلة بالشبكة أو الخارجية" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "حافظ على ترتيب الأيقونات" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "دائمًا حافظ على ترتيب الأيقونات وفقًا لآخر ترتيب تم وضعه" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "الترتيب حسب" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "الأيقونات المرتبة على أساس هذه الخاصية" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "حافظ على الأيقونات مكدسين" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "حافظ دائما على تكديس الأيقونات, الأنواع المتشابهة مجمعة" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Type of Files to not Stack" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "مصفوفة من أنواع السلاسل النصية، لا تقم بتجميع هذه الأنواع من الملفات" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "أضف شعارًا إلى للصلات" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "أضف شعارًا لتمييز الوصلات الناعمة." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "استخدام اللون الأسد لأسماء العناصر" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"قم بتلوين اسماء العناصر بالأسود بدلاً من الأبيض. هذا مفيد عند استخدام خلفيات " +"فاتحة اللون." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "اعرض الأيقونات الجديدة على الشاشة غير الأساسية في حال الاتصال بها" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"في حالة توصيل شاشة ثانية، سيتم وضع الرموز الجديدة على الشاشة غير الأساسية" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "يمكن وضع الأيقونات في أي مكان على سطح المكتب" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"لا توجد الأيقونات على شبكة مستطيلة، بل يمكن وضعها في أي مكان بغض النظر عن " +"الشبكة" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "عرض عناصر سطح المكتب" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "اعرض العناصر على طبقة خلف الأيقونات في حال التثبيت" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "إخفاء/عرض جميع أيقونات سطح المكتب" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "عرض الأيقونات على سطح المكتب او اخفيهم جميعا" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "اختصارات تطبيق المستخدم" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "عدل اختصارات التطبيقات الافتراضية التي حددها المستخدم" diff --git a/ding/po/az.po b/ding/po/az.po new file mode 100644 index 0000000..68b11ac --- /dev/null +++ b/ding/po/az.po @@ -0,0 +1,2065 @@ +# Azerbaijani translations for gtk4-ding package. +# Copyright (C) 2025 THE gtk4-ding'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Automatically generated, 2025. +# +# Weblate Translation Memory , 2025, 2026. +# Sundeep Mediratta , 2026. +# Weblate , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-01-12 12:02+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Azerbaijani \n" +"Language: az\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: Weblate 5.15.1\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Tarix" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Tarix:." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Proqramlar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Tarix Daimi Enabled dəyişdirilən yalnız təklif edirik ..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Web browser çevirmək" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Axtarış" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Proqramlar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Tweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Daha çox" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Axtarış" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Desktop Proqram üçün ayarlar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Daxil ol" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Proqramlar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Gnome Files ilə paylaşılır" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Daxili Tweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Masaüstü icons üçün ölçüsü" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Kiçik" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Kiçik" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Standart" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Böyük" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Yeni icons uyğunluğu" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Top sol alt" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Top sağ üst" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Qara sol kağız" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Sağ alt" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Yeni icons əlavə etmək üçün ilk, mövcuddur" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Ağacaq üçün Snap icons" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "Fayllarda Desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Yeni Desktop Folder" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Masaüstü üçün yeni bir qızdırma" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Seçki" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Desktop geri ~ /" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Yadda saxla" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Yuxarı" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Açıq grid" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Linklər üçün məlumat emblems, şifreleme" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Ikon etiketlərində qurmaq" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Masa üstü şəxsi qrupu göstərin" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Masa üstü çöp icon göndərin" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Masaüstünda xarici sürücüləri göstərin" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Masaüstünda şəhər sürücüləri göstərin" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Masaüstünün divarına yeni sürücülər əlavə edin" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Daxil olmaq" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Pulsuz" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Pulsuz" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr " Show image" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Haqqında" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Bu kompüter yalnız" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr " Never" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Daxil ol" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Gizli faylları göstər" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Açıq qrupları drag hover" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Haqqımızda." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr " Translation" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Maşın LibreTranslate istifadə. Weblate'de istifadə olunan və redaktə " +"edilmişdir." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr " Edit" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Verify, əlavə etmək və ya web browser" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Axtarış" + +# MT: LibreTranslate +#: app/appChooser.js:78 +#, fuzzy +msgid "Choose an application to open {foo}" +msgstr "out {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Yadda saxla" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "AppImage File" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Bu AppImage File yanlış Permission var." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Qeydiyyatdan istifadə etmək üçün sağ basın, sonra:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Daxil ol" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Digər Access" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Oxunub" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "və ya" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Qeyd" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Seçki" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Proqram kimi File icra edin" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Domen adı qeydiyyatdan keçirt" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Bu App Image faylı etibarlı deyil, başlamaq ola bilər." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Başlamaq, sağ basın, sonra:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "xidmət" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Yadda saxla" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Kataloq adı" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Fayl adı" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr " OK" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Ad Soyad" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Avtomobil Ar yüklü deyil" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Daxili faylları ilə işləyə bilərsiniz, faylları yükləyin və / ya da zəng-1.2-" +"gnome Avtomobil" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Faylları" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Faylları" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Tarix" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Burada bir şəxs" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Uşaq qrupu" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "out '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Çıxış tamamlandı" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "out '${fullPathFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr " Extraction" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "out '${fullPathFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "out ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Ekstraksiya vasitəsi zamanı" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Kompüter tamamlandı" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr " Cancel" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Kompressiya zamanı" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Axtarış" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Domen adı" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Yapon" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Bütün təhsil sistemləri ilə uyğundur." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Sertifikat .zip, Windows və Mac quraşdırılmalıdır." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Kiçik rəsmi, lakin Linux və Mac yalnız." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Kiçik rəsmi, lakin Windows və Mac quraşdırılmalıdır." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Ekranlı Desktop digərlər tərəfindən qarşılaşdırılır" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop faylları Desktop Folder digər istifadəçilər tərəfindən bu Desktop " +"tərəfindən başlayacaq.\n" +"\n" +"Bu Desktop Folder məlumatlarına baxın və digərlər tərəfindən qəbul edilməyin." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Avtomobil" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Bu .desktop faylları məlumat olmadan bir proqram qeyd və ya qeyd edir. Bu " +"icra edilə bilər.\n" +"\n" +"Doğru executable Proqramı təşkil etmək üçün faylını yazın." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Invalid Permissions on Desktop File" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Bu Desktop File yanlış məlumat var." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Qeydiyyatdan keçirt »" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Bu Desktop fayl ehtiyac deyil, başlamaq ola bilər." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Açıq Oxunub" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "out {appName}" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Qeydiyyat Qeydiyyat" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Yeni Desktop Folder bir simvol Linki" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Yeni Desktop Folder var deyil və ya bir Folder deyil!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Desktop Folder dəyişdi" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Yeni Desktop üçün Switching ..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Axtarış" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Yeniyetmə" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Monitor Frame Buffer Scaling mövcud deyil" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Müxtəlif zoom parametrləri ilə bir çox monitorinqbuffer ölçüləri " +"tərəfindən.\n" +"\n" +"Mutter Dconf Settings" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Müxtəlif zoom ayarları ilə bir çox monitor.\n" +"\n" +"Mutter Dconf Settings-də monitor çərçivəsində qiymətləndirilmişdir?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Masaüstünü göstərmək deyil" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "out {desktop}" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "out {desktop}" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "Qalereya Fayl tapmaq" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "GNOME Gtk4 Desktop Icons NG tərəfindən hazırlanmışdır." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Heç bir default File Manager" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Mimetype \"inode/directory\" mövcuddur" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome Files bir File Manager kimi qeyd deyil" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Gnome Files proqramı açıq kateqoriyalar üçün proqramlaşdırılmışdır!\n" +"xdg-utils quraşdırma\n" +"Gnome Files .desktop Qeydiyyat" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Yeni axtarışdan əvvəl cari seçim" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Desktop faylları tapın" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Pulsuz" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Kater yaradılması başarısız" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Qısa yaratmaq" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Gnome Files açıqlamaq" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Seçki" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Bu Window açıqdır. Daxil olmaq lazımdır." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr " Settings" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Şablonun yaradılması" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Sertifikat yaratmaq" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Ad Soyad" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Ad Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Açıq vaxt" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Axtarış" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Daxil ol.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Tip tərəfindən yükləyin .." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Qeydiyyatdan keçirt »" + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Yadda saxla" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Desktop Icon Settings" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Yeni məlumat" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Elan" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Vaxt" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Qalereya" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Bütün hüquqlar" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Daxil ol" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Daxil ol.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "out {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell Menu" + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "SymLink başarısız oldu" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Tarixi link yaratmaq" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Çap/Move Failed" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Fayllar üçün Action seçin" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Daxil ol" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Elan" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Axtar" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Kateqoriya" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Oxunub" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Açıq File Failed" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "out \"{fo}\"" + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "out {0}" +msgstr[1] "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Açıq Bütün..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Axtarış" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "out {foo}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Açıq" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Kateqoriya" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Ümumi ..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Açıq..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Digər proqram ilə bütün açıq..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Integrated Graphics Card istifadə edin" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Bu növü" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Unstack Bu növ" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Proqram kimi çalışır" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Elanlar" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Qırmızı" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Daxil ol..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Elanlar." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Rename.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Link yaradır..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "out {0}" +msgstr[1] "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "out {0}" +msgstr[1] "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "E-poçt." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Mobile Device" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Trash daxil edin" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Delete daimi" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Daxil olmaq" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Daxil ol" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr " E" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Ümumi xüsusiyyətlər" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr " Properties" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Açıq" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr " Extraction" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Ekstraktiv Qeydiyyatdan keçin" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Seçki" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "E-poçt ünvanı" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Seçim bir Directory daxildir, ilk .zip faylına kompressiya edir?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "E-poçt" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Zip komandası tapa bilərsiniz, proqram yüklemek" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr " Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Bir zip arxasının yaradılmasında bir səhv idi" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Xdg-email tapmaq üçün pulsuz, proqram yüklemek" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "E-poçt ünvanı" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "İşçi Rehberi açıqlamaq" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Gnome Konsolunda açıqla" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Yadda saxla" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Çap" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Faylları kopyalamaq üçün asan, heç bir yer qrupu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Daxil ol" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Proqramları qarşılaşdırmaq üçün heç bir yer" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ bu tip faylları açıqlaya bilər!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Qalereya" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "E-poçt:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Tip yeni..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modifier + Key (e.g. Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Ümumi" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Pulsuz" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Sistem Qısa" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Ümumi Sistem Qızılmaq" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Lotereya" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Proqramlar" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Sistemin qadınları" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Pulsuz" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Bütün sürətlərin optimallaşdırılması" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Bütün hüquqlar..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Fayllarda Desktop" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Terminalda açıq" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Planlaşdırma" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Ekran Ayarları" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Desktop Icon Settings" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Icons" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Daxil ol" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Xüsusi kateqoriya" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Ad Soyad" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Daxil ol" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Modified Time ilə Arrange Icons" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Daxil ol Axtarış" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Ölçülü Icons" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Proqramlar" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Yeniyetmə" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Gizli Fayllar" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Qeydiyyat" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Icon Sol" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Icon sağ seç" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Icon Down seçin" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Shell Planlaşdırma Men" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Desktop Shortcut" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "E-poçt ünvanı" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Text Giriş Accels Turn Off" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Qeydiyyat Bakı" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Yadda saxla" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Daha çox məlumat" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr " Home" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr " Tra" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Oxunub" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Qarabağ" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Bu Dosya açıqlaya bilərsiniz, çünki bu bir Broken Symlink" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Avtomobil" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Qeydiyyat" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "İstifadəçi" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "İcazə ver" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Mıtin" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Tərtibat" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Əsas" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Komanda\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "out \"${programName}\"" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "out \"${programName}\"" + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Desktop Folder seçin" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Seçilmiş faylları açmaq üçün bir app seçin." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Bu fayl növü üçün daima istifadə edin" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "Axtarış" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "GNOME masa üstü ekran icons" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"masa üstü; vasit;files;folders;manager;arrange;hide;show;starter;kıqraflı;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr " Show <>Hide" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Qeydiyyat" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Icon ölçüsü" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Masaüstü icons üçün ölçüsü seçin." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Xüsusi qrupu" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Masa üstü şəhərində şəxsi qəbul edirik." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Axtarış icon" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Masa üstü çöp simgesini göstərin." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Yeni icons qeydiyyatdan başlayır" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "İkonların yerləşdirilməyə başlayacaqları yerləşdirin." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Masaüstünda xarici sürücüləri göstərin" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Disk sürücüləri kompüter bağlıdır." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Masaüstünda şəhərin sürücülərini göstərin" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Masaüstündə alüminium şəbəkələri göstərin." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Ekranın dibində yeni sürücülər əlavə edin" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Masaüstü sürücülər və həyataları əlavə etdiyi zaman, ekranın dibinə onları " +"əlavə edin." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "DnD zamanı mərkəz yerdə bir düzbucaq göstərir" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Bir Drag'n'Drop əməliyyatını keçirdikdə, ikon yarıtranssepektiv ilə " +"qarşılaşacaq grid yerləşdirir." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Xüsusi kateqoriyalar - Ev/Trash Drives." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Icons masa üstü konfiqurasiya, mövcuddur və ev, Trash və ya Xarici " +"Sürücülərin yerini dəyişdirmək" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Icons Arranged" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Hər zaman Icons saxlayın Son təşkil edilən sifariş" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Sifariş" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Bu mülk tərəfindən Icons Arranged" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Qalereya" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Hər zaman Icons Stacked saxlamaq, eyni növlər qruped" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Stack deyil" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Tel növü növləri, Bu faylları yükləyir" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Bağlantılar üçün bir emblem əlavə edin" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Yumşaq linklərini təmin etmək üçün bir emblem əlavə edin." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Etiket üçün qara istifadə edin" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Qarada etiket məhsulunu ağ yerine boya. İşıq fonlarından istifadə edərək " +"faydalıdır." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Bağlı əsas monitor yeni icons göstərir" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "İkinci monitor bağlanırsa, yeni icons əsas monitor yerləşdirilir" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Icons Desktop haqqında yerləşdirilmiş ola bilər" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Icons paslanmayan bir griddə deyil, lakin gridin müstəqil olduğu yerdə " +"postioned ola bilər" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +#, fuzzy +msgid "Show Desktop Widgets" +msgstr "Fayllarda Desktop" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Yadda saxla" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Masaüstü icons göndərin, və ya onları gizləyin" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "İstifadəçi Proqramı" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" +"İstifadəçinin tərəfindən hazırlanmış default proqram qaydaları üçün override" diff --git a/ding/po/be.po b/ding/po/be.po new file mode 100644 index 0000000..eb671da --- /dev/null +++ b/ding/po/be.po @@ -0,0 +1,1887 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the ding package. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# Yauhen Bugamol <3abac@3a.by>, 2024, 2026. +# Yauhen , 2024. +# Ding User , 2024, 2025, 2026. +# Drugi Sapog , 2025. +# Drugi Sapog , 2025, 2026. +# Yauhen , 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-20 22:50+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Belarusian \n" +"Language: be\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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Перавызначыць" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Спалучэнні клавіш" + +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Рэдагаваць cпалучэнні клавіш..." + +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Рэдагаваць cпалучэнні клавіш праграмы" + +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Спалучэнні клавіш можна рэдагаваць, толькі калі пашырэнне ўключана..." + +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Дапамагчы з перакладам праз вэб-браўзер" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Працоўны стол" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Файлы" + +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Іншае" + +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Звесткі" + +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Налады працоўнага стала" + +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Налады праграмы для працоўнага стала" + +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Папка працоўнага стала" + +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Бягучы працоўны стол: " + +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Налады файлаў" + +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Налады агульныя для праграмы «Файлы» асяроддзя Gnome" + +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Дадатковыя налады" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Памер значкоў працоўнага стала" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Маленькі" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Малы" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Стандартны" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Вялікі" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Выраўноўванне для новых значкоў" + +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Верхні левы вугал" + +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Верхні правы вугал" + +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Ніжні левы вугал" + +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Ніжні правы вугал" + +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" +"Калі маюцца дадатковыя маніторы, у першую чаргу дадаваць новыя значкі на іх" + +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Выраўноўванне значкоў па сетцы" + +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Віджэты стальніцы" + +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Новая папка працоўнага стала" + +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Задаць новую папку працоўнага стала" + +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Выбраць" + +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Вярнуць папку працоўнага стала ~/" + +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Вярнуць прадвызначаную папку працоўнага стала" + +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Аднавіць" + +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Пазначаць сетку пры перацягванні" + +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Дадаваць да спасылак і шыфраваных файлаў эмблему" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Выкарыстоўваць у подпісах значкоў цёмны тэкст" + +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Паказваць на працоўным стале асабістую папку" + +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Паказваць на працоўным стале значок сметніцы" + +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Паказваць на працоўным стале знешнія дыскі" + +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Паказваць на працоўным стале сеткавыя дыскі" + +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Дадаваць новыя дыскі на супрацьлеглы бок працоўнага стала" + +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Дзеянне, каб адкрыць элемент" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Адзінарнае націсканне" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Падвойнае націсканне" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Паказваць мініяцюры" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Заўсёды" + +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Толькі на гэтым камп'ютары" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Ніколі" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Паказваць у кантэкстным меню пункт «выдаліць незваротна»" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Паказваць схаваныя файлы" + +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Адкрываць папкі пры перацягванні" + +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Пра пашырэнне..." + +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Пераклад" + +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" + +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Пераклады" + +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Дадаць, выправіць або спраўдзіць пераклад праз вэб-браўзер" + +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Перакладаць" + +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Выберыце праграму, каб адкрыць {foo}" + +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Адкрыць элементы" + +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Адкрыць папку" + +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Адкрыць файл" + +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Памылка змянення прадвызначанай праграмы" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" +"Памылка падчас прызначэння {foo} у якасці прадвызначанай праграмы для " +"{mimetype}" + +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Няправільныя правы доступу да файла AppImage" + +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Гэты файл AppImage мае няправільныя дазволы." + +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Націсніце правай кнопкай мышы, каб змяніць Уласцівасці, затым:" + +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "" + +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "" + +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Толькі чытанне" + +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "або" + +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Няма" + +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Уключыць параметр" + +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Дазволіць выкананне файла як праграмы" + +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Недавераны файл AppImage" + +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Гэты файл AppImage не давераны, яго нельга выканаць." + +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "" + +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "уключыць" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Дазволіць выкананне" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Назва папкі" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Назва файла" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "ОК" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Перайменаваць" + +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "AutoAr не ўсталяваны" + +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Каб мець магчымасць працаваць са сціснутымі файламі, усталюйце file-roller і/" +"або gir-1.2-gnomeAutoAr" + +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Выманне файлаў" + +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Сцісканне файлаў" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Скасаваць" + +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Увядзіце пароль" + +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Выдаленне частковага файла '${outputFile}'" + +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Стварэнне папкі прызначэння" + +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Выманне файлаў у '${outputPath}'" + +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Выманне завершана" + +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Выманне '${fullPathFile}' было завершана." + +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Выманне скасавана" + +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Выманне '${fullPathFile}' было скасавана карыстальнікам." + +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Патрабуецца пароль для ${filename}" + +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Памылка падчас вымання" + +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Сцісканне файлаў у '${outputFile}'" + +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Сцісканне завершана" + +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Сцісканне файлаў у '${outputFile}' завершана." + +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Сцісканне скасавана" + +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Выхадны файл '${outputFile}' ужо існуе." + +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "Сцісканне файлаў у '${outputFile}' было скасавана карыстальнікам." + +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Падчас сціскання ўзнікла памылка" + +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Стварыць архіў" + +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Назва архіва" + +#: app/autoAr.js:608 +msgid "Password" +msgstr "Пароль" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "Стварыць" + +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Сумяшчальны з усімі аперацыйнымі сістэмамі." + +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "" +"Абаронены паролем .zip, на Windows і Mac патрабуецца ўсталяванне праграмы." + +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Архівы меншага памеру, але падтрымліваюцца толькі ў Linux і Mac." + +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "" +"Архівы меншага памеру, але на Windows і Mac патрабуецца ўсталяванне праграмы." + +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Паказаны працоўны стол даступны для запісу іншым" + +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"Немагчыма запусціць файлы .desktop з гэтага працоўнага стала, бо папка " +"працоўнага даступна для запісу іншым карыстальнікам.\n" +"\n" +"Праверце правы доступу да гэтай папкі працоўнага стала і пераканайцеся, што " +"ў іншых карыстальнікаў няма права на запіс." + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Няспраўны файл .desktop" + +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Файл .desktop мае памылкі або спасылаецца на праграму без дазволаў. Яго " +"нельга выканаць.\n" +"\n" +"Змяніце файл, каб задаць правільную выконвальную праграму." + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Няправільныя правы доступу да файла .desktop" + +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Гэты файл .desktop мае няправільныя дазволы." + +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Недавераны файл .desktop" + +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Гэты файл .desktop не давераны, яго нельга выканаць." + +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Не ўдалося адкрыць файл" + +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} не можа адкрываць файлы гэтага тыпу!" + +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Не ўдалося змяніць папку працоўнага стала" + +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Новая папка працоўнага з'яўляецца сімвалічнай спасылкай" + +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Новая папка працоўнага стала не існуе або не з'яўляецца папкай!" + +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Папка працоўнага стала зменена" + +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Пераключэнне на новы працоўны стол..." + +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Значкі працоўнага стала" + +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Абнавіць працоўны стол" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Дадаць віджэт" + +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Маштабаванне кадравага буфера манітора не ўключана" + +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Маецца некалькі манітораў з рознымі наладамі маштабавання, рэкамендавана " +"маштабаванне кадравага буфера манітора .\n" +"\n" +"Уключыце яго ў наладах Dconf для Mutter" + +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Маецца некалькі манітораў з рознымі наладамі маштабавання.\n" +"\n" +"Уключыць маштабаванне кадравага буфера манітора ў наладах Dconf для Mutter?" + +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Уключыць" + +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Немагчыма паказаць працоўны стол" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" + +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "Праграма «Файлы» асяроддзя GNOME не знойдзена" + +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "" +"Для працы Gtk4 Desktop Icons NG патрабуецца праграма «Файлы» з асяроддзя " +"GNOME." + +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Няма прадвызначанага файлавага менеджара" + +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Не прызначана праграмы для mime-тыпу «inode/directory»" + +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Праграма «Файлы» асяроддзя Gnome не зарэгістравана як файлавы менеджар" + +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Праграма «Файлы» асяроддзя Gnome не зададзена для адкрыцця папак!\n" +"Праверце ці ўсталяваны xdg-utils\n" +"Праверце ці ўсталяваны .desktop-файл праграмы «Файлы»" + +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Каб выканаць новы пошук, ачысціце бягучае вылучэнне" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Пошук файлаў на працоўным стале" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Новая папка" + +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Збой стварэння папкі" + +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Не ўдалося стварыць папку" + +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Немагчыма адкрыць працоўны стол у праграме «Файлы»" + +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Акно налад адкрыта" + +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Гэта акно адкрыта. Пераключыцеся ў актыўнае акно." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Налады" + +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Памылка стварэння шаблона" + +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Не ўдалося стварыць дакумент" + +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Назва" + +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Назва (Я-А)" + +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Час змянення" + +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Тып" + +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Памер" + +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Захоўваць упарадкаванне…" + +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Згрупоўваць па тыпу…" + +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Сартаваць Дыскі/Сметніцу/Хатнюю папку…" + +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Змяніць працоўны стол" + +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Вярнуць прадвызначаны працоўны стол" + +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Налады пашырэння Desktop Icons" + +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Паказаць спалучэнні клавіш" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Новы дакумент" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Уставіць" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Адрабіць" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Паўтарыць" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Вылучыць усе" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Упарадкаваць значкі" + +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Упарадкаваць па…" + +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Паказаць працоўны стол праз {0}" + +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Адкрыць праз «{0}»" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "" + +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Меню абалонкі…" + +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Не ўдалося стварыць SymLink" + +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Не ўдалося стварыць сімвалічную спасылку" + +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Не ўдалося скапіяваць/перамясціць" + +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} не існуе" + +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Выберыце дзеянне для файлавага менеджара" + +#: app/dragManager.js:792 +msgid "Move" +msgstr "Перамясціць" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Скапіяваць" + +#: app/dragManager.js:792 +msgid "Link" +msgstr "Спасылка" + +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Папка" + +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Файл" + +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Не ўдалося адкрыць файл" + +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Не ўсталявана праграма для адкрыцця файлаў тыпу «{fo}»." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Новая папка з {0} элементам" +msgstr[1] "Новая папка з {0} элементамі" +msgstr[2] "Новая папка з {0} элементамі" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Адкрыць усе..." + +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Запусціць" + +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Адкрыць праз {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Адкрыць" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Выняць сюды" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Выняць у..." + +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Адкрыць праз..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Адкрыць усе праз іншую праграму..." + +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Запусціць з дапамогай убудаванай відэакарты" + +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Згрупаваць гэты тып" + +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Разгрупаваць гэты тып" + +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Запусціць як праграму" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Скрыпты" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Выразаць" + +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Перамясціць у..." + +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Скапіяваць у..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Перайменаваць…" + +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Стварыць спасылку..." + +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Сціснуць {0} папку" +msgstr[1] "Сціснуць {0} папкі" +msgstr[2] "Сціснуць {0} папак" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Сціснуць {0} файл" +msgstr[1] "Сціснуць {0} файлы" +msgstr[2] "Сціснуць {0} файлаў" + +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Адправіць па электроннай пошце..." + +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Адправіць на мабільную прыладу" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Перамясціць у сметніцу" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Выдаліць незваротна" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Не дазваляць выкананне" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Ачысціць сметніцу" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Выняць" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Адмантаваць" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Агульныя ўласцівасці" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Уласцівасці" + +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Паказаць усе праз «{0}»" + +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Паказаць праз «{0}»" + +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Адкрыць праз «{0}»" + +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Адкрыць элемент" + +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Выманне скасавана" + +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Немагчыма выняць файл, няма папкі прызначэння" + +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Выберыце месца прызначэння" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Вылучыць" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Нельга адправіць каталог па электроннай пошце" + +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Сярод вылучанага ёсць каталог, спачатку сціснуць яго ў файл .zip?" + +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Памылка пошты" + +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Не ўдалося знайсці каманду zip, усталюйце праграму" + +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Архіў.zip" + +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Падчас стварэння zip-архіва ўзнікла памылка" + +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Не ўдалося знайсці xdg-email, усталюйце праграму" + +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Памылка пры адпраўцы файлаў па электроннай пошце" + +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Немагчыма адкрыць працоўны каталог" + +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Немагчыма адкрыць кансоль Gnome" + +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Усталюйце кансоль Gnome або іншы эмулятар тэрмінала" + +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Немагчыма адкрыць {0}" + +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Усталюйце «{0}»" + +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Капіяванне скасавана" + +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Немагчыма скапіяваць файлы, няма папкі прызначэння" + +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Перамяшчэнне скасавана" + +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Немагчыма перамясціць файлы, няма папкі прызначэння" + +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ не можа адкрываць файлы гэтага тыпу!" + +#: app/preferences.js:1078 +msgid "Console" +msgstr "Кансоль" + +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Прадвызначанае:" + +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Увядзіце новае..." + +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Мадыфікатар + Клавіша (напр. Ctrl + Alt + D)" + +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Вярнуць прадвызначанае спалучэнне" + +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Без гарачых клавіш" + +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Сістэмныя спалучэнні клавіш" + +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Агульныя спалучэнні клавіш, якія вызначаюцца сістэмай" + +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Лакальныя спалучэнні клавіш" + +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Спалучэнні клавіш праграмы" + +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Глабальныя спалучэнні клавіш" + +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Сістэмныя спалучэнні клавіш" + +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Спалучэнні клавіш" + +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Скінуць спалучэнні клавіш" + +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Вярнуць прадвызначаныя спалучэнні клавіш" + +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Скінуць усе..." + +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Паказаць Стол у файлавым менеджары" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Адкрыць у Тэрмінале" + +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Змяніць фон" + +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Змяніць налады дысплэя" + +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Змяніць налады Desktop Icons" + +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Ачысціць значкі" + +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Захоўваць упарадкаванне" + +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Захоўваць згрупоўванне" + +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Сартаваць спецыяльныя папкі" + +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Упарадкаваць значкі па назве" + +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Упарадкаваць значкі па назве (Я-а)" + +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Упарадкаваць значкі па часу змянення" + +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Упарадкаваць значкі па тыпу" + +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Упарадкаваць значкі па памеры" + +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Знайсці файлы" + +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Абнавіць працоўны стол" + +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Паказваць схаваныя файлы" + +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Зняць вылучэнне" + +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Перадпрагляд" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Дадаць віджэт" + +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Выбраць значок злева" + +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Выбраць значок справа" + +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Выбраць значок зверху" + +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Выбраць значок знізу" + +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Паказаць меню" + +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Паказаць меню фону з абалонкі" + +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Стварыць ярлык на працоўным стале" + +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Уключыць паскаральнікі ўводу тэксту" + +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Выключыць паскаральнікі ўводу тэксту" + +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Паказаць акно са спалучэннямі клавіш" + +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Схаваць або паказаць значкі працоўнага стала" + +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Больш інфармацыі" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Хатняя папка" + +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Сметніца" + +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Група" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Няспраўная спасылка" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Немагчыма адкрыць гэты файл, бо сімвалічная спасылка няспраўная" + +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Дыск" + +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Параметры" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Карыстальнік" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Дазволіць" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Суворы" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Павольны" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Распрацоўка" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Па змаўчанні" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Каманда:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Параметры" + +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "«${programName}» недаступна" + +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Каб Desktop Icons мог выконваць гэтыя дзеянні, усталюйце «${programName}»." + +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Выберыце папку працоўнага стала" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Каманда не знойдзена" + +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Выберыце праграму, каб адкрываць выбраныя файлы." + +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Заўсёды выкарыстоўваць для гэтага тыпу файлаў" + +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Скасаваць" + +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Адкрыць" + +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Паказваць значкі на працоўным стале GNOME" + +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;працоўны " +"стол;файлы;папкі;ярлыкі;значкі;лаўнчар;" + +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Паказаць<>Схаваць" + +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Параметры" + +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Адключыць" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Памер значкоў" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Наладзіць памер значкоў працоўнага стала." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Паказваць асабістую папку" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Паказваць на працоўным стале асабістую папку." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Паказваць значок сметніцы" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Паказваць на працоўным стале значок сметніцы." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Вугал экрана для новых значкоў" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Наладзіць вугал з якога будзе пачынацца размяшчэнне значкоў." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Паказваць на працоўным стале знешнія дыскі" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Паказваць падлучаныя да камп'ютара дыскі." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Паказваць на працоўным стале сеткавыя дыскі" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Паказваць на працоўным стале прымантаваныя сеткавыя тамы." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Дадаваць новыя дыскі на супрацьлеглы бок экрана" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Пры дадаванні носьбітаў і тамоў на стол, размяшчаць іх на супрацьлеглым баку " +"экрана." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Паказваць падчас перацягвання прамавугольнік у месцы прызначэння" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Падчас аперацыі Drag'n'Drop пазначае месца ў сетцы, у якое будзе перамешчаны " +"элемент, паўпразрыстым прамавугольнікам." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Сартаваць спецыяльныя папкі - Дыскі/Сметніцу/Хатнюю папку." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Пры сартаванні значкоў на працоўным стале, сартаваць і змяніць пазіцыю " +"Хатняй папкі, Сметніцы і прымантаваных сеткавых або знешніх дыскаў" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Захоўваць упарадкаванне" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Заўсёды сартаваць значкі згодна з апошнім упарадкаваннем" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Упарадкаванне" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Значкі ўпарадкаваны паводле гэтай уласцівасці" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Згрупоўванне значкоў" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Значкі аднаго тыпу заўсёды згрупаваныя" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Тыпы файлаў, якія не згрупоўваюцца" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Масіў тэкставых радкоў з тыпамі файлаў, якія не будуць згрупоўвацца" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Дадаваць да спасылак эмблему" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Дадаваць эмблему, каб вызначаць спасылкі праграм." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Выкарыстоўваць чорны тэкст для подпісаў" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Робіць колер тэксту ў подпісе чорным замест белага. Карысна пры выкарыстанні " +"светлага фону." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Паказваць новыя значкі не на асноўным маніторы, калі такі падключаны" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Калі падключаны другі манітор, новыя значкі змяшчаюцца не на асноўным " +"маніторы" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Значкі можна размяшчаць у любым месцы працоўнага стала" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Значкі не прывязваюцца да сеткі, іх можна размяшчаць у любым месцы " +"працоўнага стала" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Віджэты стальніцы" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Схаваць або паказаць усе вокны працоўнага стала" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Схаваць або паказаць усе значкі на працоўным стале" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Карыстальніцкія спалучэнні клавіш праграмы" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Замяняе прадвызначаныя спалучэнні клавіш праграмы на карыстальніцкія" + +#~ msgid "All tranlations on Weblate.." +#~ msgstr "Усе пераклады выконваюцца на Weblate" + +#~ msgid "" +#~ "\n" +#~ "Set Permissions, in \"Others Access\", \"Read Only\" or \"None\"" +#~ msgstr "" +#~ "\n" +#~ "Задайце дазвол у раздзеле «Астатнія» на значэнні «Толькі чытанне» або " +#~ "«Нічога»" + +#~ msgid "" +#~ "For this functionality to work in Desktop Icons, you must install \"$" +#~ "{programName}\" in your system." +#~ msgstr "" +#~ "Каб гэта функцыя Desktop Icons працавала, вы павінны ўсталяваць «$" +#~ "{programName}»." + +#~ msgid "Website" +#~ msgstr "Вэб-сайт" + +#~ msgid "Visit" +#~ msgstr "Наведаць" + +#~ msgid "Issues" +#~ msgstr "Праблемы" + +#~ msgid "Report issues on issue tracker" +#~ msgstr "Паведаміць аб праблеме на старонцы баг-трэкера" + +#~ msgid "Report" +#~ msgstr "Паведаміць" + +#~ msgid "License" +#~ msgstr "Ліцэнзія" + +#~ msgid "Do Paste" +#~ msgstr "Уставіць" + +#~ msgid "Cut Item" +#~ msgstr "Выразаць элемент" + +#~ msgid "Copy Item" +#~ msgstr "Скапіяваць элемент" + +#~ msgid "Rename Item" +#~ msgstr "Перайменаваць элемент" + +#~ msgid "Delete Permanently" +#~ msgstr "Выдаліць незваротна" + +#~ msgid "Show Properties" +#~ msgstr "Паказаць уласцівасці" + +#~ msgid "Create Link to Item" +#~ msgstr "Стварыць спасылку на элемент" + +#~ msgid "Add an emblem to soft links" +#~ msgstr "Дадаваць да спасылак праграм эмблему" + +#~ msgid "Volumes" +#~ msgstr "Тамы" + +#~ msgid "Desktop volumes display" +#~ msgstr "Паказ тамоў на працоўным стале" + +#, fuzzy +#~ msgid "Run" +#~ msgstr "Запуск" + +#, fuzzy +#~ msgid "Close" +#~ msgstr "Закрыць" + +#, fuzzy +#~ msgid "Use Nemo to open folders" +#~ msgstr "Выкарыстоўвайце Nemo для адкрыцця тэчак" + +#, fuzzy +#~ msgid "Use Nemo instead of Nautilus to open folders." +#~ msgstr "Каб адкрываць тэчкі, выкарыстоўвайце Nemo замест Nautilus." + +#, fuzzy +#~ msgid "Open In Terminal" +#~ msgstr "Адкрыць у Тэрмінале" + +#, fuzzy +#~ msgid "No Extraction Folder" +#~ msgstr "Няма тэчкі для распакавання" + +#~ msgid "Select Extract Destination" +#~ msgstr "Абраць куды выняць змесціва" + +#~ msgid "Open With Other Application" +#~ msgstr "Адурыць у іншай праграме" + +#~ msgid "Click type for open files" +#~ msgstr "Від кліку для адкрыцця файлаў" + +#~ msgid "Action to do when launching a program from the desktop" +#~ msgstr "Дзеянне пры запуску праграмы з працоўнага стала" + +#~ msgid "Display the content of the file" +#~ msgstr "Паказаць змесціва файла" + +#~ msgid "Launch the file" +#~ msgstr "Запусціць файл" + +#~ msgid "Ask what to do" +#~ msgstr "Спытаць што зрабіць" + +#~ msgid "Local files only" +#~ msgstr "Толькі для лакальных файлаў" + +#~ msgid "" +#~ "The Nautilus File Manager is mandatory to work with Desktop Icons NG." +#~ msgstr "" +#~ "Файлавы менеджар Nautilus з'яўляецца неабходным для працы Desktop Icons " +#~ "NG." + +#~ msgid "" +#~ "To configure Desktop Icons NG, do right-click in the desktop and choose " +#~ "the last item: 'Desktop Icons settings'" +#~ msgstr "" +#~ "Каб наладзіць Desktop Icons NG, клікніце правай кнопкай мышы па працоўным " +#~ "стале і абярыце апошні пункт: \"Настройкі значкоў стала\"" + +#~ msgid "Do you want to run “{0}”, or display its contents?" +#~ msgstr "Вы хаціце выканаць “{0}”, ці паказаць яго змесціва?" + +#~ msgid "“{0}” is an executable text file." +#~ msgstr "“{0}” гэта выканальны тэкставы файл." + +#~ msgid "Execute in a terminal" +#~ msgstr "Выканаць у тэрмінале" + +#~ msgid "Show" +#~ msgstr "Паказаць" + +#~ msgid "Execute" +#~ msgstr "Выканаць" + +#~ msgid "Delete" +#~ msgstr "Выдаліць" + +#~ msgid "Are you sure you want to permanently delete these items?" +#~ msgstr "Ці вы насамрэч хочаце незваротна выдаліць гэтыя элементы?" + +#~ msgid "If you delete an item, it will be permanently lost." +#~ msgstr "Выдаленне элемента незваротна." + +#~ msgid "New folder" +#~ msgstr "Новая папка" + +#, fuzzy +#~ msgid "Desktop Icons Settings" +#~ msgstr "Настройкі значкоў Стала" + +#~ msgid "Error while deleting files" +#~ msgstr "Памылка падчас выдалення файлаў" diff --git a/ding/po/bg.po b/ding/po/bg.po new file mode 100644 index 0000000..b64ac63 --- /dev/null +++ b/ding/po/bg.po @@ -0,0 +1,2116 @@ +# Bulgarian translations for gtk4-ding package. +# Copyright (C) 2025 THE gtk4-ding'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Automatically generated, 2025. +# +# pacu23 , 2025, 2026. +# Weblate , 2025, 2026. +# Weblate Translation Memory , 2025, 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-20 22:50+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Bulgarian \n" +"Language: bg\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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Промени в CSS" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "Персонализиране на външния вид на иконите на работния плот чрез CSS" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" +"Предупреждение: ако се направи погрешно, това може да повреди разширението" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "Редактиране на CSS файла с промените..." + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "Приложи промените на CSS сега" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "Презарeждане на CSS, за да се приложат промените незабавно" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Преки пътища" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Редактиране на преките пътища..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Редактиране на преките пътища към приложения" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "" +"Преките пътища може да се редактират само когато разширението е активирано..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Помогнете за превода онлайн" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Работен плот" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Файлове" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Допълнителни настройки" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Още" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Настройки на работния плот" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Настройки на програмата за икони" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Директория на работния плот" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Текущ работен плот: " + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Настройки на файловете" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Настройки, общи с GNOME Files" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Разни" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Размер на иконите на работния плот" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Дребни" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Малки" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Стандартни" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Големи" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Подравняване на новите икони" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Към горния ляв ъгъл" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Към горния десен ъгъл" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Към долния ляв ъгъл" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Към долния десен ъгъл" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Добавяне на новите икони първо към вторичните монитори, ако има такива" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Прикрепване на иконите към решетката" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Приспособления на работния плот" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Нова директория на работния плот" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Задаване на нова папка на работния плот" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Избор" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Задаване на работния плот отново като ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Възстановяване на папката на работния плот по подразбиране" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Възстановяване" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Открояване на мрежата" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Добавяне на информационни емблеми за връзките, криптиране" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Използвайте тъмен текст в надписите на иконите" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Показване на домашната папка на работния плот" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Показване на иконата на кошчето на работния плот" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Показване на външни дискове на работния плот" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Показване на мрежови дискове на работния плот" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Добавяне на новите дискове в обратната страна на работния плот" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Действие за отваряне на елементи" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Единично щракване" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Двойно щракване" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Показване на миниатюрите" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Винаги" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Само от този компютър" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Никога" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Показване на контекстно меню за постоянно изтриване" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Показване на скритите файлове" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Отваряне на папките при преместване с мишката" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Относно..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Превод" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Преведено с помощта на LibreTranslate. Проверено и редактирано от " +"потребителите в Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Редактиране на преводи" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Проверете, добавете или коригирайте превода в уеб браузъра си" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Превод" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Изберете приложение за отваряне на {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Отваряне на елементите" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Отваряне на папките" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Отваряне на файл" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Грешка при промяната на приложението по подразбиране" + +# MT: LibreTranslate +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" +"Грешка при задаване на {foo} като приложение по подразбиране за {mimetype}" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Невалидни права на AppImage файл" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Този AppImage файл има невалидни правомощия." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Щракнете с десния бутон, за да редактирате свойствата, а след това:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Задаване на правомощия във" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Достъп на други потребители" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Само за четене" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "или" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Няма" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Включване на опцията" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Разрешаване на изпълнението на файла като програма" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Неупълномощен AppImage файл" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Този AppImage файл не е упълномощен и не може да бъде стартиран." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "За да активирате стартирането, щракнете с десния бутон:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "включване" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Разреши стартирането" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Име на папка" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Име на файл" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "ОК" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Преименуване" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "AutoAr не е инсталиран" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"За да може да работите с компресирани файлове, инсталирайте file-roller и/" +"или gir-1.2-gnomeAutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Извличане на файлове" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Компресиране на файлове" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Отмяна" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Въведете парола тук" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Премахване на частичен файл '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Създаване на изходна папка" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Извличане на файлове в '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Извличането завършено" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Извличането на '${fullPathFile}' е завършено." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Извличането е отменено" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Извличането '${fullPathFile}' е отменено от потребителя." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Изисква се парола за ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Грешка при извличане" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Компресиране на файлове в '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Компресирането е завършено" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Компресирането на файловете в '${outputFile}' е завършено." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Компресирането е отменено" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Изходният файл '${outputFile}' вече съществува." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "Компресирането на файлове в '${outputFile}' е отменено от потребителя." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Грешка при компресиране" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Създаване на архив" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Име на архива" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Парола" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Създаване" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Съвместим с всички операционни системи." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Защитен с парола .zip, нужно е инсталиране за Windows и Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "По-малки архиви, но само за Linux и Mac." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "По-малки архиви, но е нужно инсталиране за Windows и Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Показаният работен плот може да се редактира от други потребители" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop файловете не могат да бъдат стартирани от този работен плот, тъй " +"като папката на работния плот е създадена от други потребители.\n" +"\n" +"Моля, проверете правомощията на тази папка и се уверете, че тя не е " +"създадена от други." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Повреден .desktop файл" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Този .desktop файл има грешки или сочи към програма без разрешения. Не може " +"да бъде изпълнена.\n" +"\n" +"Редактиране на файла, за да зададете правилната изпълнима програма." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Невалидни правомощия на .desktop файл" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Този файл има невалидни правомощия." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Неупълномощен файл" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Файлът не е упълномощен и не може да бъде стартиран." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Файлът не може да се отвори" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} не може да отваря файлове от този тип!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Грешка при промяната на директорията на работния плот" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Новата папка за работен плот е пряка връзка" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Новата папка на работния плот не съществува или не е папка!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Промяна на директорията на работния плот" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Превключване към нов работен плот..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Икони на работния плот" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +msgid "Back to Desktop" +msgstr "Връщане към работния плот" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +#, fuzzy +msgid "Toggle Widget Grid" +msgstr "Превключване на приспособленията" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Добавяне на графичен обект" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Мащабирането на буфера на рамката на монитора не е активирано" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Множество монитори с различни настройки за увеличение, препоръчва се " +"мащабиране на фреймбуфера на монитора.\n" +"\n" +"Моля, активирайте в настройките на Mutter Dconf" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Множество монитори с различни настройки за увеличение.\n" +"\n" +"Активиране на мащабирането на фреймбуфера на монитора в настройките на " +"Mutter Dconf?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Включване" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Грешка при показване на работния плот" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Директорията на работния плот {desktop} е пряка връзка\n" +"\n" +"Моля, настройте папката за работен плот като истинска папка" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Директорията на работния плот {desktop} не съществува или не е директория\n" +"\n" +"Проверете инсталацията на xdg- utils и задайте правилната папка за работния " +"плот" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "Не можа да се открие GNOME Files" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "Приложението GNOME Files се изисква от Gtk4 Desktop Icons NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Няма файлов мениджър по подразбиране" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Няма приложение, което да обработва mimetype „inode/directory“" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "GNOME Files не е регистриран като файлов мениджър" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Приложението GNOME Files не е програмирано да отваря папки!\n" +"Проверете инсталацията на xdg-utils\n" +"Проверете .desktop инсталацията на GNOME Files" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Изчистване на текущия избор преди ново търсене" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Търсене на файлове на работния плот" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Нова папка" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Грешка при създаването на папка" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Не можа да се създаде папката" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Грешка при отваряне на работния плот в GNOME Files" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Прозорецът за настройки е отворен" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Прозорецът е отворен. Моля, превключете на активния прозорец." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Настройки" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Грешка при създаването на шаблон" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Грешка при създаването на документ" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Име" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Име Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Време на промяна" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Тип" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Размер" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Остави подредени…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Групиране по тип…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Сортиране на домашната папка/дисковете/кошчето…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Промяна на работния плот" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Възстановяване на работния плот по подразбиране" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Настройки на иконите на работния плот" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Показване на преките пътища" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Нов документ" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Поставяне" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Отмяна" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Възстановяване" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Избиране на всичко" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Подреждане на иконите" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Подреждане по…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Показване на работния плот във „{0}“" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Отваряне в „{0}“" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Редактиране на приспособленията…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Меню на GNOME Shell…" + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Грешка при създаването на връзка" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Грешка при създаването на пряка връзка" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Копирането/преместването неуспешно" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} не съществува" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Изберете действие за файлове" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Преместване" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Копиране" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Връзка" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Папка" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Файл" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Грешка при отварянето на файл" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Няма инсталирано приложение за отваряне на файлове \"{fo}\"." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Нова папка с {0} елемент" +msgstr[1] "Нова папка с {0} елемента" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Отваряне на всички..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Стартиране" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Отваряне с {foo}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Отваряне" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Извлечи тук" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Извличане във..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Отваряне със..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Отваряне на всичко с друго приложение..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Стартиране чрез интегрирана графична карта" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Групиране на този тип" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Спиране на групирането на този тип" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Изпълняване като програма" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Скриптове" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Изразване" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Преместване във..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Копиране във..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Преименуване…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Създаване на връзка..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Компресиране на {0} папка" +msgstr[1] "Компресиране на {0} папки" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Компресиране на {0} файл" +msgstr[1] "Компресиране на {0} файла" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Изпращане по имейл..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Изпращане до мобилно устройство" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Преместване в кошчето" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Изтриване завинаги" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Не разрешавай стартиране" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Изпразване на кошчето" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Изваждане" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Демонтиране" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Общи свойства" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Свойства" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Показване на всички {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Показване в {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Отваряне на {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Отваряне на елемент" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Извличането е отменено" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Грешка при извличането на файла, няма изходна папка" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Избор на дестинация" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Избор" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Не може да изпратите имейл до директория" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Селекцията включва директория, да се компресира ли в .zip файл?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Грешка в пощата" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Грешка при откриване на командата за цип, моля инсталирайте програмата" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr ".zip архив" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Грешка при създаване на .zip архив" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Не може да бъде намерен xdg-email, моля инсталирайте програмата" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Грешка при пращането на файлове по имейл" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Не може да се отвори работната директория" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Грешка при отваряне в GNOME Console" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Моля инсталирайте GNOME Console или друга програма за терминал" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Грешка при отварянето на {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Моля инсталирайте {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Копирането е отменено" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Файловете не могат да бъдат копирани, няма изходна папка" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Преместването е отменено" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Файловете не могат да бъдат преместени, няма изходна папка" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ не може да отворя файлове от този тип!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Конзола" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Пряк път по подразбиране:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Нов тип..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Модификатор + клавиш (напр. Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "По подразбиране" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Без ускорител" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Системни преки пътища" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Често задавани клавишни комбинации" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Локални преки пътища" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Клавишни комбинации на приложението" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Глобални клавишни комбинации" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Системни клавишни комбинации" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Клавишни комбинации" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Рестартиране на преките пътища" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Рестартиране на всички клавишни комбинации към тези по подразбиране" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Рестартиране на всички..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Показване на работния плот във „Файлове“" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Отваряне в терминал" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Промяна на фона" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Промяна на настройките на дисплея" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Промяна на настройките на иконите на работния плот" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Почистване на иконите" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Запазване на подредбата" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Запазване на групирането" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Сортиране на специалните папки" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Подреждане на иконите по име" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Обратно подреждане на иконите по име" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Подреждане на иконите по време на промяна" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Подреждане на иконите по тип" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Подреждане на иконите по размер" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Търсене на файлове" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Обновяване на работния плот" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Показване на скрити файлове" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Отмяна на избора на всички" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Преглед" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "Превключване на приспособленията" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Добавяне на приспособление" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Избор на икона наляво" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Избор на икона надясно" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Избор на икона нагоре" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Избор на икона надолу" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Показване на менюто" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Показване на менюто на GNOME Shell" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Създаване на пряк път" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Включване на ускорението за въвеждане на текст" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Изключване на ускорението за въвеждане на текст" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Показване на прегледа на клавишните комбинации" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Показване или скриване на иконите на работния плот" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Повече информация" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Домашна папка" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Кошче" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Групиране" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Повредена връзка" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Файлът не може да бъде отворен, защото връзката е повредена" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Диск" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +msgid "Widget preferences" +msgstr "Предпочитания за приспособлението" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "HTML приспособление" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "GTK приспособление" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Потребител" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Позволете" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Стриктно" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" +"Приспособлението работи в строго изолирана уеб среда.\n" +"\n" +"• Не се допускат външни скриптове или рамки.\n" +"• Достъпът до мрежата е ограничен до защитени (HTTPS) заявки.\n" +"• Могат да се изпълняват само файловете на приспособлението и вградения " +"код.\n" +"\n" +"Това е най-безопасният вариант и се препоръчва за повечето приспособления." + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Разхлабен" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" +"На приспособлението са разрешени по-широки уеб възможности.\n" +"\n" +"• Възможно е да се зареждат външни скриптове, стилове, изображения и рамки " +"от надеждни уебсайтове.\n" +"• Разрешен е достъп до мрежата през HTTPS, WebSockets и медийни потоци.\n" +"\n" +"Използвайте това само за приспособления, на които имате доверие." + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Развитие" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" +"Приспособлението работи с уеб достъп, подходящ за разработка.\n" +"\n" +"• Разрешени са връзки към локални сървъри за разработка (localhost).\n" +"• Достъпът чрез HTTP и WebSocket може да бъде разрешен за тестване.\n" +"\n" +"Този режим е предназначен само за разработка и отстраняване на грешки." + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "По подразбиране" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" +"Приспособлението работи с предварително дефинирана политика за уеб " +"сигурност.\n" +"\n" +"Достъпът до уеб и възможностите са ограничени в съответствие с активната " +"политика." + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "Да се разреши уеб съдържанието за {widgetId}?" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" +"Добавеното от вас приспособление може да зарежда уеб съдържание от " +"интернет.\n" +"\n" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" +"Това съдържание е обект на политиката за сигурност на приспособлението:\n" +"\n" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" +"Това приспособление – {widgetId} – изпълнява фонов процес на вашия " +"компютър.\n" +"\n" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" +"Бакендът работи с обичайните потребителски права, точно като всяко друго " +"приложение, което стартирате.\n" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" +"Той може да получи достъп до вашите файлове, системни ресурси и мрежата в " +"съответствие с разрешенията на вашия потребителски акаунт.\n" +"\n" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Команда:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" +"Разрешавайте това само за приспособления, на които имате пълно доверие." + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "Разрешаване на бекенда на приспособлението?" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +msgid "Widget Preferences" +msgstr "Предпочитания за приспособлението" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" не е наличен" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Инсталиране \"${programName}\", за да се даде възможност на иконите на " +"работния плот да извършват тези действия." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Изберете директория за работния плот" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Командата не е намерена" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Изберете приложение за отваряне на избраните файлове." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Използвай винаги за този тип файлове" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Отмяна" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Отваряне" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Показване на иконите на работния плот на GNOME" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"работен " +"плот;икони;файлове;папки;мениджър;подреждане;показване;скриване;прозорец;преки " +"пътища;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Показване<>Скриване" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Предпочитания" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Изключване" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Размер на иконите" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Задайте размера на иконите на десктопа." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Показване на домашната папка" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Показване на домашната папка на работния плот." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Показване на иконата на кошчето" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Показване на иконата на кошчето на работния плот." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Нов начален ъгъл на иконите" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Задаване на ъгъла, от който иконите ще почнат да бъдат поставяни." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Показване на външни дискове на работния плот" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Показване на дисковете, свързани към компютъра." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Показване на мрежовите дискове на работния плот" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Показване на инсталираните мрежови томове на работния плот." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Добавяне на новите дискове откъм противоположната страна на екрана" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"При добавяне на дискове и томове към работния плот, да се добавят откъм " +"противоположната страна на екрана." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Показване на правоъгълник върху дестинацията по време на преместване" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"По време на преместване с полупрозрачен фон се маркира мястото в решетката, " +"където иконата ще бъде поставена." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Включване на специалните папки – домашната, кошчето и дисковете." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Включване на домашната папка, кошчето и свързаните мрежови или външни " +"дискове към подравняването на иконите на работния плот." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Иконите да останат подредени" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Иконите винаги да останат подредени според последно избраната подредба" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Подредба" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Подреждане по признак" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Иконите да останат групирани" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Иконите винаги да останат групирани по тип" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Типове файлове, които да не се групират" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Масив от низове, тези типове файлове да не се групират" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Добавяне на емблеми към връзките" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Добавяне на емблема, която позволява идентифицирането на преки връзки." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Използване на черен цвят надписи" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Текста в надписите да се оцветява в черно вместо в бяло. Това е полезно, " +"когато тапетът е светъл." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Показване на новите икони на вторичния монитор, ако има такъв" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "Ако е свързан втори монитор, новите икони се появяват на него" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Иконите могат да бъдат разположени навсякъде на работния плот" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Иконите не са върху правоъгълна мрежа, а могат да бъдат разположени " +"навсякъде, независимо от мрежата" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Показване на приспособленията на работния плот" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "Показване на приспособленията под иконите, ако има такива" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Скриване/показване на всички прозорци на работния плот" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Показване или скриване на иконите на работния плот" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Потребителски преки пътища" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Промяна на бързите клавиши по подразбиране, зададени от потребителя" diff --git a/ding/po/bn.po b/ding/po/bn.po new file mode 100644 index 0000000..206f1ea --- /dev/null +++ b/ding/po/bn.po @@ -0,0 +1,2064 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# holer ryaar , 2023. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-01-12 12:03+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Bengali \n" +"Language: bn\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: Weblate 5.15.1\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "ওভাররাইড" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "শর্ট- কাট" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "শর্টকাট সম্পাদন করো..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "অ্যাপ্লিকেশনের শর্টকাট সম্পাদনা করুন" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "শর্ট- কাট শুধুমাত্র সম্পাদনযোগ্য যখন এক্সটেনশন সক্রিয় করা হয়..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "ওয়েব ব্রাউজারের মধ্যে অনুবাদ করুন" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "ডেস্কটপ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "ফাইল" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "ভুল" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "মডেল" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "ডেস্কটপের বৈশিষ্ট্য" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "ডেস্কটপের প্রোগ্রাম সংক্রান্ত বৈশিষ্ট্য" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "ডেস্কটপ ফোল্ডার" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "বর্তমান ডেস্কটপ:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "ফাইল সংক্রান্ত বৈশিষ্ট্য" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Gnome ফাইলের যৌথরূপে ব্যবহৃত বৈশিষ্ট্য" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "বিবিধ ভুল" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "ডেস্কটপের আইকনের মাপ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "ক্ষুদ্র" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "ক্ষুদ্র" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "আদর্শ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "বড়" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "নতুন আইকনের প্রস্থ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "উপরে বাঁদিকের কোণায়" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "উপরে ডানদিকের কোণায়" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "নীচে বাঁদিকের কোণায়" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "নীচে ডানদিকের কোণায়" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "উপলব্ধ হলে, দ্বিতীয় মনিটরের মধ্যে নতুন আইকন যোগ করা হবে" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "গ্রীডের জন্য আইকনের সংখ্যা" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "ডেস্কটপের উইজেট" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "নতুন ডেস্কটপ ফোল্ডার" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "ডেস্কটপের জন্য নতুন ফোল্ডার নির্মাণ করুন" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "নির্বাচন করুন" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "ডেস্কটপের মধ্যে পুনরায় নির্ধারণ করুন" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "ডিফল্ট ডেস্কটপের বৈশিষ্ট্য পুনরায় স্থাপন করা হবে" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "পুনুদ্ধার করুন" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "মূল অংশ হাইলাইট করা হবে" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "লিংক, এনক্রিপশনের জন্য প্রোফাইল সংক্রান্ত তথ্য যোগ করুন" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "আইকনের মধ্যে গাঢ় টেক্সট ব্যবহার করা হবে" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "ডেস্কটপের মধ্যে ব্যক্তিগত ফোল্ডার প্রদর্শন করা হবে" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "আবর্জনার বাক্সের আইকন ডেস্কটপে প্রদর্শন করা হবে" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "ডেস্কটপের মধ্যে বহিস্থিত ড্রাইভ প্রদর্শন করা হবে" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "ডেস্কটপে নেটওয়ার্ক ড্রাইভ প্রদর্শন করা হবে" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "ডেস্কটপে নতুন ড্রাইভ যোগ করুন" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "যে কোনো বস্তু খোলা হবে" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "একটি ক্লিক" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "দুইবার ক্লিক" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "ছবির থাম্ব-নেইল প্রদর্শন করা হবে" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "সর্বদা" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "এই কম্পিউটারের মধ্যে" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "কখনো নয়" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "মেনুর বস্তুটি মুছে ফেলা হবে" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "আড়াল করা ফাইল প্রদর্শন করা হবে" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "ঊর্ধ্বস্থ উইন্ডোর মধ্যে খোলা হবে" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "কোন ব্যাপারে..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "অনুবাদ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"লিব্রাস্ট্রেট ব্যবহার করে মেশিন অনুবাদ করা হয়েছে। ব্যবহারকারী যাচাই করেছেন এবং " +"ওয়েবলেটে সম্পাদনা করেছেন।." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "অনুবাদ সম্পাদন করো" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "আপনার ওয়েব ব্রাউজারের মধ্যে সঠিক অনুবাদ অথবা সঠিক অনুবাদ যোগ করুন" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "অনুবাদ" + +# MT: LibreTranslate +#: app/appChooser.js:78 +#, fuzzy +msgid "Choose an application to open {foo}" +msgstr "out {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "বস্তু খুলুন" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "ফোল্ডার খুলুন" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "ফাইল খুলুন" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "ডিফল্ট অ্যাপ্লিকেশন আরম্ভ করতে সমস্যা" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "ফাইলের মধ্যে অবৈধ অনুমতি" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "এই আই- আর- সি- কিউ অবৈধ অনুমতি আছে ।." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "বৈশিষ্ট্যাবলী সম্পাদন করার জন্য ডানদিকের ক্লিক করুন:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "অনুমতি নির্ধারণ করুন" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "অন্যান্য ব্যবহার" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "শুধুমাত্র পাঠযোগ্য" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "অথবা" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "শূণ্য" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "বিকল্প সক্রিয় করুন" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "প্রোগ্রাম রূপে Execut ফাইল সঞ্চালনের অনুমতি প্রদান করা হচ্ছে" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "আই. এস. টি. চিত্র ফাইল" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "এপিপি ছবি বিশ্বস্ত নয়, এটি চালু করা যাবে না।." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "আরম্ভের সময় ডানদিকের ক্লিক সক্রিয় করা হবে:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "সক্রিয় করুন" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "আরম্ভ করার অনুমতি প্রদান করা হবে" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "ফোল্ডারের নাম" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "ফাইমের নাম" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "ঠিক আছে" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "পুনরায় নামকরণ" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "স্বয়ংক্রিয় আর রঙ ইনস্টল করা হয়নি" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"যৌথরূপে ব্যবহৃত ফাইল ইনস্টল করার জন্য, file-roller-র মধ্যে ইনস্টল ও Groice-2.2 অটো-ও" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "ফাইল সম্প্রসারণ করা হচ্ছে" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "ফাইল সংকুচন করা হচ্ছে" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "বাতিল" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "পাসওয়ার্ড লিখুন" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "আংশিক ফাইল মুছে ফেলা হচ্ছে '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "গন্তব্য ফোল্ডার তৈরি করা হচ্ছে" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "স্থানীয় অবস্থানে ফাইল এক্সট্র্যাক্ট করা হচ্ছে '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "এক্সট্র্যাক্ট করা হয়েছে" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "এক্সট্র্যাক্ট করা '${fullPathFile}' সম্পন্ন করা হয়েছে ।." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "সম্প্রসারণ বাতিল করা হয়েছে" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "'${fullPathFile}' ব্যবহারকারী দ্বারা বাতিল করা হয়েছে।." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "${filename}-র জন্য পরিচয়-পংক্তি আবশ্যক" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "এক্সট্র্যাক্ট করতে সমস্যা" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "আর্কাইভে ফাইল সংকুচন করুন '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "কম্প্রেশন করা হয়েছে" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "'${outputFile}' - এ সংকুচন করা ফাইল সমাপ্ত হয়েছে." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "কম্প্রেশন বাতিল করা হয়েছে" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "আউটপুট ফাইল '${outputFile}' ইতিমধ্যেই বিদ্যমান ।." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" +"'${outputFile}' ব্যবহারকারীর মধ্যে সংকোচন করা হচ্ছে ব্যবহারকারী দ্বারা বাতিল করা " +"হয়েছে।." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "কম্প্রেশন-এ সমস্যা" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "আর্কাইভ তৈরি করো" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "আর্কাইভের নাম" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "পাসওয়ার্ড" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "তৈরি করুন (_r)" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "সর্বধরনের সিস্টেমের সাথে সুসংগত (FAT)।." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "পাসওয়ার্ড সুরক্ষিত, Windows এবং Mac'র মধ্যে ইনস্টল করা আবশ্যক।." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "আর্কাইভ ছোট কিন্তু লিনাক্স এবং ম্যাক।." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "আর্কাইভ ছোট/ বড় মাপের কিন্তু Windows ও Mac-র মধ্যে ইনস্টল করা আবশ্যক।." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "প্রদর্শিত ডেস্কটপ দ্বারা পরিবর্তনযোগ্য" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"অন্যান্য ব্যবহারকারীদেরকে এই ডেস্কটপ ফোল্ডার থেকে ফাইল স্থানান্তর করতে ব্যর্থ।\n" +"\n" +"অনুগ্রহ করে এই ফোল্ডারের অনুমতি পরীক্ষা করুন, এবং অন্যান্য ব্যবহারকারীদেরকে এটি " +"লিখনযোগ্য নয়।." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "ক্ষতিগ্রস্ত ডেস্কটপ ফাইল" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"এই .desktop ফাইলের ত্রুটি বা পয়েন্ট নেই অনুমতি ছাড়া প্রোগ্রাম ত্রুটি । ( ১ করি.\n" +"\n" +"এক্সিকিউটেবল প্রোগ্রাম সঞ্চালনের জন্য মান নির্ধারণ করুন ।." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "ডেস্কটপ ফাইলের মধ্যে অবৈধ অনুমতি" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "ডেস্কটপ ফাইলের অনুমতি সঠিক নয়।." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "ডেস্কটপ ফাইলের মধ্যে ক্ষতিগ্রস্ত ফাইল" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "এই ডেস্কটপ ফাইল বিশ্বস্ত নয়, এটি চালু করা যাবে না।." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "লিংক খোলা যায়নি ফাইল" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} এই ধরনের ফাইল খোলা যাচ্ছে না!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "ডেস্কটপ ফোল্ডার পরিবর্তন করতে ব্যর্থ" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "নতুন ডেস্কটপ ফোল্ডার একটি প্রতীকী লিঙ্ক" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "নতুন ডেস্কটপ ফোল্ডার অনুপস্থিত অথবা ফোল্ডার নয়!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "ডেস্কটপ ফোল্ডার পরিবর্তিত হয়েছে" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "নতুন ডেস্কটপে পরিবর্তন করুন..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "ডেস্কটপ আইকন" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "ডেস্কটপ আপডেট করুন" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "ফ্রেম বাফার মাপ নির্ধারণ সক্রিয় নয়" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"বিভিন্ন মনিটরের মাপ নির্ধারণের জন্য একাধিক মনিটর নির্ধারণের মান নির্ধারণ করে।\n" +"\n" +"দয়া করে conf সেটিংস সক্রিয় করুন" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"ভিন্ন প্রদর্শন ক্ষেত্রে একাধিক মনিটরের বৈশিষ্ট্যের সাহায্যে প্রদর্শন করা হবে।\n" +"\n" +"প্রতি মনিটরের মধ্যে Dconf সেটিংসে ফ্রেমবুফার সক্রিয় করা হবে কি?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "সক্রিয় করুন" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "ডেস্কটপ প্রদর্শন করা হবে না" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"ডেস্কটপ ফোল্ডার {desktop} একটি প্রতীকী লিঙ্ক\n" +"\n" +"অনুগ্রহ করে এটি নির্বাচন করুন" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"ডেস্কটপ ফোল্ডার {desktop} উল্লিখিত হয়নি অথবা ডিরেক্টরি নয়\n" +"\n" +"আপনার xdg ইনস্টলেশন চেক করুন এবং সঠিক ডেস্কটপ সেট করুন" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "গুহ্নোম ফাইল পাওয়া যায়নি" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "গুহ্নোম Gtk4 ডেস্কটপ আইকন দ্বারা চিহ্নিত ফাইল আবশ্যক।." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "ডিফল্ট ফাইল পরিচালন ব্যবস্থা অনুপস্থিত" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "কোনো অ্যাপ্লিকেশন দ্বারা \"Edectory\" প্রয়োগ করা হয় না" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome ফাইলগুলি ফাইল ব্যবস্থাপক হিসেবে নিবন্ধিত নয়" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Gnome ফাইল পাঠানো হয়নি কোনো ফোল্ডার খোলার জন্য!\n" +"আপনার xdg-ga ইনস্টলেশন পরীক্ষা করুন\n" +"Gnome .desktop ফাইল পরীক্ষা করুন ফাইল ইনস্টলেশন" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "নতুন অনুসন্ধানের জন্য চিহ্নিত পংক্তি মুছে ফেলুন" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "ডেস্কটপে অনুসন্ধান করুন" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "নতুন ফোল্ডার" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "ফোল্ডার তৈরি করতে ব্যর্থ" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "ফোল্ডার নির্মাণ করতে ব্যর্থ" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Gnome ডেস্কটপে ডেস্কটপ প্রদর্শন করতে ব্যর্থ" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "উইন্ডো সংক্রান্ত পছন্দ" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "এই উইন্ডোটি খোলা রয়েছে। অনুগ্রহ করে উইন্ডো সক্রিয় করুন ।." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "বৈশিষ্ট্য" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "টেমপ্লেট তৈরি করতে ত্রুটি" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "ডকুমেন্ট নির্মাণ করতে ব্যর্থ" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "নাম" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "নাম" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "পরিবর্তনের সময়" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "ধরন" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "মাপ" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "সাজানো.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "ধরন দ্বারা স্ট্যাক করা.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "হোম/ড্রাইভার মুছে ফেলুন.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "ডেস্কটপ পরিবর্তন করুন" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "ডিফল্ট ডেস্কটপ পুনরায় স্থাপন করুন" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "ডেস্কটপের আইকনের বৈশিষ্ট্য" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "শর্ট- কাট প্রদর্শন" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "নতুন ডকুমেন্ট" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "পেস্ট করুন" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "পূর্বাবস্থা" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "পুনরাবৃত্তি" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "সমগ্র নির্বাচন" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "আইকন ক্রমবিন্যাস" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "সাজান.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "ডেস্কটপে ডেস্কটপ প্রদর্শন করা হবে {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "{0} দিয়ে খোলো" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "শেল মেনু.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Sym লিঙ্ক নির্মাণ করতে ব্যর্থ" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "সিম্বলিক লিঙ্ক নির্মাণ করতে ব্যর্থ" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "ফাইল কপি করতে ব্যর্থ" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} অনুপস্থিত" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "কর্ম নির্বাচন করুন" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "সরাও" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "কপি করুন" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "লিংক" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "ফোল্ডার" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "ফাইল" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "ফাইল খুলতে ব্যর্থ" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "" +"ইনস্টল করার জন্য কোনো অ্যাপ্লিকেশন ইনস্টল করা হয়নি \"{fo}\" ফাইল খোলার জন্য [FP0] " +"ব্যবহার করুন ।." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "{0} দ্বারা নতুন ফোল্ডার বস্তু" +msgstr[1] "{0}টি আইটেম সহ নতুন ফোল্ডার৷" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "সব খোলা হবে..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "আরম্ভ করুন" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "{foo} সহযোগে খুলুন [F]" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "খুলুন" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "বর্তমান অবস্থানে এক্সট্র্যাক্ট করুন" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "এক্সট্র্যাক্ট করার অবস্থান..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "খুলতে ব্যবহার করো..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "ভিন্ন অ্যাপলিকেশন সহযোগে খুলুন..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "সমন্বিত গ্রাফিক্স ব্যবহার করে আরম্ভ করুন" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "স্ট্যাক-এর ধরন" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "এই ধরনটি লক করা হবে" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "প্রোগ্রাম রূপে চালানো হবে" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "স্ক্রিপ্ট" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "কাট করুন" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "চিহ্নিত অবস্থানে স্থানান্তর করুন." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "চিহ্নিত স্থানে কপি করুন..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "নাম পরিবর্তন.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "লিঙ্ক তৈরি করো..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "out {0}" +msgstr[1] "{0}টি ফোল্ডার কম্প্রেস করুন" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "সংকুচন করুন {0}" +msgstr[1] "{0}টি ফাইল কম্প্রেস করুন" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "ই- মেইল..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "মোবাইল ডিভাইস পাঠানো হবে" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "চিহ্নিত অবস্থানে স্থানান্তর করুন" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "স্থায়ীরূপে মুছে ফেলুন" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "আরম্ভ করার অনুমতি প্রদান করা হবে না" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "আবর্জনার বাক্স ফাঁকা করুন" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "বহিষ্কার" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "আন-মাউন্ট করা হবে" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "সাধারণ বৈশিষ্ট্য" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "বৈশিষ্ট্য" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "{0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "{0} প্রদর্শন করো" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "{0} - এ খোলো" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "ফাইল খুলুন" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "সম্প্রসারণ বাতিল করা হয়েছে" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "প্রাপ্ত করতে ব্যর্থ গন্তব্য ফাইল" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "একটি অ্যাপ্লিকেশন বেছে নিন" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "নির্বাচন করুন" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "একটি ডিরেক্টরির উপর অন্য ডিরেক্টরি সরিয়ে ফেলা যাবে না" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "নির্বাচনের মধ্যে একটি ডিরেক্টরি উপস্থিত রয়েছে, প্রথমে ফাইল খোলা হবে কি?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "মেইল সংক্রান্ত ত্রুটি" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "জিপ কমান্ড পাওয়া যায়নি, অনুগ্রহ করে প্রোগ্রাম ইনস্টল করুন" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "আর্কাইভ।" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "আর্কাইভ নির্মাণ করতে সমস্যা" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Xdg-পং প্রোগ্রাম পাওয়া যায়নি, অনুগ্রহ করে প্রোগ্রামটি ইনস্টল করুন" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "ই-মেইল ফাইলে ত্রুটি দেখা দিয়েছে" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "ডিরেক্টরি খোলা সম্ভব হয়নি" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Gnome কনসোল খুলতে ব্যর্থ" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "অনুগ্রহ করে জিনোম কনসোল অথবা অন্যান্য টার্মিনাল প্রোগ্রাম ইনস্টল করুন" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "{0} খোলা যায়নি [H0]" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "দয়া করে {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "বাতিল করা হয়েছে" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "উদ্দিষ্ট ফোল্ডার কপি করতে ব্যর্থ" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "বাতিল করা হয়েছে" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "গন্তব্য ফোল্ডার স্থানান্তর করতে অক্ষম" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "এই ধরনের $NAC ফাইল খুলতে পারবেন না!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "কনসোল" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "ডিফল্ট শর্ট- কাট:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "নতুন ধরন..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "পরিবর্তক + কী (যেমন Ctrl+I) Alt+ D" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "ডিফল্ট মান পুনরায় স্থাপন করুন" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "নিষ্ক্রিয়" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "সিস্টেম শর্টকাট" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "সাধারণ সিস্টেম কি- বোর্ড শর্টকাট" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "স্থানীয় শর্ট- কাট" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "অ্যাপ্লিকেশনের কি-বোর্ড শর্টকাট" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "গ্লোবাল শর্টকাট" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "কি-বোর্ড শর্ট-কাট" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "কি-বোর্ড শর্টকাট" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "শর্ট- কাট রিসেট করো" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "সকল শর্ট- কাট ডিফল্ট মান পুনরায় স্থাপন করুন" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "সব রিসেট করো..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "ডেস্কটপে প্রদর্শন করা হবে" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "টার্মিনাল- এ খোলো" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "পটভূমি পরিবর্তন করো" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "প্রদর্শন সংক্রান্ত বৈশিষ্ট্য পরিবর্তন করুন" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "ডেস্কটপ আইকনের বৈশিষ্ট্য পরিবর্তন করুন" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "আইকন পরিশ্রুত করুন" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "সাজান" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "স্থগিত রাখো" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "স্থানীয় ফোল্ডার" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "নাম অনুযায়ী সাজান" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "বড় থেকে ছোট অনুসারে আইকনের অনুক্রম নির্ধারণ করুন" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "পরিবর্তনের সময় অনুযায়ী আইকনের অনুক্রমকারী" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "আইকন ক্রমবিন্যাস ধরন অনুসারে" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "মাপ অনুসারে সারিবদ্ধ করা হবে" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "ফাইল অনুসন্ধান" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "ডেস্কটপ আপডেট করুন" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "ফাইল প্রদর্শন করুন (_S)" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "সমগ্র নির্বাচন বাতিল করুন" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "প্রাকদর্শন" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "বাম দিকের আইকন বেছে নিন" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "আইকন বেছে নিন" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "আইকনের নাম নির্বাচন করুন" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "আইকন বেছে নিন" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "মেনু প্রদর্শন করা হবে" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "শেল পটভূমির মেনু প্রদর্শন করা হবে" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "ডেস্কটপ শর্ট- কাট নির্মাণ করুন" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "টেক্সট এনট্রি চালু করুন" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "টেক্সট এনট্রি বন্ধ করা হয়" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "শর্ট-কাট প্রদর্শক" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "ডেস্কটপ অথবা আড়াল করা হবে" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "অতিরিক্ত তথ্য" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "হোম" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "আবর্জনা" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "স্ট্যাক-ওভারফ্লো" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "ক্ষতিগ্রস্ত লিংক" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "এই ফাইলটি খোলা যাচ্ছে না কারণ এটি একটি ব্রোকেন সিম-লিংক" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "ড্রাইভ" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "পছন্দ" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "ব্যবহারকারী" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "অনুমতি দিন" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Development" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "পূর্বনির্ধারিত" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "কমান্ড\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "পছন্দ" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" পাওয়া যাচ্ছে না" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "out \"${programName}\"" + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "ডেস্কটপ ফোল্ডার নির্বাচন করুন" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "কমান্ড পাওয়া যায়নি" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "নির্বাচিত ফাইলগুলির জন্য একটি অ্যাপ্লিকেশন নির্বাচন করুন।." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "এই ফাইলের জন্য সর্বদা ব্যবহার করা হবে" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "বাতিল (_C)" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "খুলুন (_O)" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "ডেস্কটপে আইকন প্রদর্শন করা হবে" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "ডেস্কটপ;আইকন;সম্প্রদায়;মনন;অবলন;হর্‍;হর্‌;ব্রম;ব্‌স;ব্‌;ব্‌স;ব্‌স;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "লুকিয়ে রাখুন" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "পছন্দ" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "নিষ্ক্রিয়" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "আইকনের আয়তন" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "ডেস্কটপের আইকনের জন্য ডেস্কটপের মাপ নির্ধারণ করুন।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "ব্যক্তিগত ফোল্ডার প্রদর্শন করা হবে" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "ডেস্কটপের মধ্যে ব্যক্তিগত ফোল্ডার প্রদর্শন করা হবে।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "আবর্জনার বাক্স প্রদর্শন" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "আবর্জনার বাক্সের আইকন ডেস্কটপে প্রদর্শিত হবে।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "নতুন আইকনের প্রান্তিক মাপ" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "" +"আইকন যেখানে স্থাপন করা হবে তার যে ঘর থেকে যে কোণায় সরানো হবে তা নির্ধারণ করুন ।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "ডেস্কটপের মধ্যে বহিস্থিত ড্রাইভ প্রদর্শন করা হবে" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "ড্রাইভের সাথে কম্পিউটারের সাথে সংযোগ স্থাপন করা হবে." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "ডেস্কটপে নেটওয়ার্ক ড্রাইভ প্রদর্শন করা হবে" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "মাউন্ট করা ভলিউমগুলি ডেস্কটপে প্রদর্শন করা হবে।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "পর্দার বিপরীত প্রান্তে নতুন ড্রাইভ যোগ করুন" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"ড্রাইভের মধ্যে উপস্থিত ড্রাইভ ও ভলিউম যোগ করার জন্য, পর্দার বিপরীত প্রান্তে যোগ করুন।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "DnD-এ উপস্থিত গন্তব্যস্থল প্রদর্শন করা হবে" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"ড্রাগোডিং অপারেশন করার সময়, গ্রিডে যে স্থান চিহ্নিত করা হবে তা নির্বাচন করে অর্ধ- " +"রেখার মাধ্যমে আইকনের সাথে স্বচ্ছ করা হবে।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "বিশেষ ফোল্ডারের ক্রমবিন্যাস করুন - বাড়ি/ আবর্জনা ড্রাইভ।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"ডেস্কটপে শেয়ার ব্যবস্থা সক্রিয় করা হলে, গৃহের অবস্থান পরিবর্তন ও পরিবর্তন করতে সহায়ক" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "আইকন সাজানো হবে" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "সর্বদা আইকন রাখা হবে সর্বশেষ ব্যবস্থা দ্বারা সাজান" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "ক্রমবিন্যাসের অনুক্রম" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "এই সম্পত্তি দ্বারা ক্রমবিন্যাসকারী আইকন" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "আইকন বিচ্ছিন্ন করা হবে" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "সর্বদা আইকনের উপর স্ক্রোল করা থাকবে, প্রতি ধরনের গ্রুপ চিহ্নিত করা হয়" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "স্ট্যাক-এর ফাইলের ধরন" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "ফাইল প্রকৃতির অ্যারের একটি অ্যারে, এই ধরনের ফাইল বাজানো সম্ভব নয়" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "লিংকের মধ্যে একটি প্রতীক যোগ করুন" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "সহজ লিংক সনাক্ত করার জন্য একটি প্রতীক যোগ করুন।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "টেক্সটের লেবেল ব্যবহার করো" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"সাদা রংয়ের পরিবর্তে সাদা রং আঁকার জন্য চিহ্নিত করো । হালকা পটভূমি ব্যবহার করার সময় " +"সুবিধাজনক ।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "সংযুক্ত থাকলে নতুন আইকন প্রদর্শন করা হবে" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "নতুন মনিটর সংযুক্ত থাকলে, প্রধান মনিটরের মধ্যে নতুন আইকন স্থাপন করা হবে" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "ডেস্কটপের মধ্যে আইকন স্থাপন করতে ব্যর্থ" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "আইকন কোন আয়তাকার গ্রিডে নেই, কিন্তু যেকোন গ্রিডে পুনরায় পোস্ট করা যাবে" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "ডেস্কটপের উইজেট" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "সমস্ত উইন্ডো আড়াল/বন্ধ করুন" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "ডেস্কটপের মধ্যে আইকন প্রদর্শন অথবা আড়াল করা হবে" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "ব্যবহারকারীদের অ্যাপ্লিকেশন শর্টকাট" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "ব্যবহারকারীর দ্বারা ডিফল্ট অ্যাপ্লিকেশন শর্ট- কাট ব্যবহার করা হবে" diff --git a/ding/po/ca.po b/ding/po/ca.po new file mode 100644 index 0000000..89d6038 --- /dev/null +++ b/ding/po/ca.po @@ -0,0 +1,2020 @@ +# This file is distributed under the same license as the PACKAGE package. +# Jordi Mas i Hernandez , 2019-2021 +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# LibreTranslate , 2024, 2026. +# Sundeep Mediratta , 2026. +# Quentin PAGÈS , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:10+0000\n" +"Last-Translator: Quentin PAGÈS \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" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Sobreescriu" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Dreceres" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Edita dreceres..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Edita dreceres d' aplicació" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Dreceres Només es pot editar quan s' hagi habilitat l' extensió..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Ajuda a traduir al vostre navegador web" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Escriptori" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Fitxers" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "TweaksCity name (optional, probably does not need a translation)" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Més" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Arranjament de l' escriptori" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Arranjament del programa d' escriptori" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Carpeta d' escriptori" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Escriptori actual:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Arranjament dels fitxers" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Arranjament compartida amb fitxers GNOME" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "" +"Miscel· lània TweaksCity name (optional, probably does not need a " +"translation)" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Mida de les icones d'escriptori" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Diminuta" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Petita" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Estàndard" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Gran" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Alineació de les icones noves" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Cantonada superior esquerra" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Cantonada superior dreta" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Cantonada inferior esquerra" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Cantonada inferior dreta" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" +"Primer afegiu noves icones als monitors secundària, si estan disponibles" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Ajusta les icones a la graella" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Ginys d'escriptori" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Nova carpeta d' escriptori" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Estableix una nova carpeta per a l' escriptori" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Tria" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Torna a ~" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Restaura la carpeta de l' escriptori predeterminat" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Restaura" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Ressalta la graella desplegable" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Afegeix abreviacions d' informació per als enllaços, xifrat" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Usa text fosc en etiquetes d' icona" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Mostra la carpeta personal de l' escriptori" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Mostra la icona de la paperera a l' escriptori" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Mostra les unitats externes a l' escriptori" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Mostra els dispositius de xarxa a l' escriptori" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Afegeix nous dispositius al costat oposat de l' escriptori" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Acció per obrir elements" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Un sol clic" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Doble clic" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Mostra les miniatures de les imatges" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Sempre" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Només en aquest ordinador" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Mai" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Mostra un element de menú contextual per a suprimir-lo permanentment" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Mostra els fitxers ocults" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Obre les carpetes en passar per sobre" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Sobre..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Traducció" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Traducció automática en usant LibreTranslate. Verificada e modificada pels " +"usuaris a Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Edita traduccions" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Verifica, afegeix o correcte traducció al vostre navegador web" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Tradueix" + +# MT: LibreTranslate +#: app/appChooser.js:78 +#, fuzzy +msgid "Choose an application to open {foo}" +msgstr "Escolliu una aplicació per obrir {foo} " + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Obre elements" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Obre carpeta" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Obre fitxer" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Error en canviar l' aplicació per omissió" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Permisos no vàlids al fitxer AppImage" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Aquest fitxer d' AppImage té permisos incorrectes." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Cliqueu amb el botó dret per editar les propietats, llavors:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Estableix permisos, in" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Altres accessos" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Només lectura" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "o" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Cap" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Habilita l' opció" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Permet l' execució de fitxer com a programa" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Fitxer d' AppImage no fiable" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Aquesta aplicació No es pot executar el fitxer d' imatge." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Per habilitar l' execució, clic dret i després:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "habilita" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Permet que s'iniciï" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Nom de la carpeta" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Nom del fitxer" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "D'acord" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Canvia el nom" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Auto L' Ar no està instal· lat" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Per poder treballar amb fitxers comprimits, instal· lar fitxers-roller i/o " +"gir-1. 2- gnòme AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "S' estan extraient fitxers" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Comprimeixnt fitxers" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Cancel·la" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Introduïu aquí una contrasenya" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Esborrant el fitxer parcial '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "S' està creant la carpeta de destí" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "S' estan extraient fitxers a '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "S' ha completat l' extracció" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "S' ha completat l' extracció '${fullPathFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "S' ha cancel· lat l' extracció" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "S' ha cancel· lat l' extracció '${fullPathFile}' per l' usuari." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "La frase de contrasenya requerida per ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Error durant l' extracció" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Comprimeixnt fitxers a '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "S' ha completat el compressió" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "S' ha completat la compressió de fitxers en '${outputFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Compressió cancel· lada" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "El fitxer de sortida '${outputFile}' ja existeix." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "S' han cancel· lat els fitxers dins '${outputFile}' per l' usuari." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Error durant la compressió" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Crea un arxiu" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Nom de l' arxiu" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Contrasenya" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Crea" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Competible amb tots els sistemes operatius." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "" +"La contrasenya està protegida. gzip, s' ha d' instal· lar a Windows i Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Els arxius petits però el Linux i el Mac només." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Els arxius petits però s'han d'instal·lar en Windows i Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "L' escriptori mostrat és d' escriptura per altresName" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"No s' han pogut executar fitxers. deskop des d' aquest escriptori ja que la " +"carpeta d' escriptori és d' escriptura per altres usuaris.\n" +"\n" +"Si us plau, comproveu els permisos d' aquesta carpeta d' escriptori, i " +"assegureu- vos que no es pot escriure en els altres." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Fitxer d' escriptori trencat" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Aquest fitxer .desktop té errors o punts a un programa sense permisos. No es " +"pot executar.\n" +"\n" +"Edita el fitxer per establir el programa executable correcte." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Permisos no vàlids al fitxer d' escriptori" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Aquest fitxer d' escriptori té permisos incorrectes." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Fitxer d' escriptori no fiable" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Aquest fitxer d' escriptori no és de confiança, no es pot executar." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "No s' ha pogut obrir Fitxer" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} no pot obrir fitxers d' aquest tipus!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Carpeta d' escriptori Ha fallat el canvi" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "La nova carpeta d' escriptori és un enllaç simbòlic" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "La nova carpeta d' escriptori no existeix o no és una carpeta!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "S' ha canviat la carpeta de l' escriptori" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "S' està canviant a un escriptori nou..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Icones de l' escriptori" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Actualitza l' escriptori" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Afegeix un giny" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Monitor Buffer No està habilitat l' escalat" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Múltiples monitors amb paràmetres de zoom diferents, recomanada per escalat " +"del \" framebuffer .\"\n" +"\n" +"Si us plau, habiliteu a l' arranjament del Mutt Dconf" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Múltiples monitors amb paràmetres de zoom diferents.\n" +"\n" +"Habilita per mida del \" framebuffer \" en els arranjaments del Mutt Dconf?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Habilita" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "No es pot mostrar l' escriptori" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"La carpeta Escriptori {desktop} és un enllaç simbòlic\n" +"\n" +"Si us plau, establiu la carpeta de l' escriptori a una carpeta real" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"La carpeta Escriptori {desktop} no existeix, o no és un directori\n" +"\n" +"Comproveu la instal· lació de l' eix X i establiu la carpeta correcta de l' " +"escriptori" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME No s' han trobat fitxers" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "" +"El GNOME Es requereix una aplicació de fitxers per a les icones d' " +"escriptori Gtk4 NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "No hi ha cap gestor de fitxers per omissió" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "" +"No hi ha cap aplicació que pugui manipular el tipus MIME \"inode/ directory\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "No s' han registrat fitxers GNOME com a gestor de fitxers" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"L' aplicació de fitxers GNOME no està programada per obrir carpetes!\n" +"Comproveu la instal· lació de l'Xdg-pils\n" +"Comprova els fitxers del GNOME .desktop Instal· lació del fitxer" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Neteja la selecció actual abans de la cerca nova" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Cerca fitxers a l' escriptori" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Carpeta nova" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "La creació de la carpeta ha fallat" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "No s' ha pogut crear la carpeta" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "No s' ha pogut obrir l' escriptori en fitxers GNOME" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "La finestra de preferències és oberta" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "" +"Aquesta finestra està oberta. Si us plau, canvieu a la finestra activa." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Paràmetres" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Error de creació de la plantilla" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "No s' ha pogut crear el document" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Nom" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Nom Z- A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Temps modificat" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Tipus" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Mida" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Mantén les possibilitats.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Mantén apilat per tipus.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Ordena l' inici/Dris/ Trash.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Canvia l' escriptori" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Restaura l' escriptori predeterminat" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Arranjament de la icona de l' escriptori" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Mostra les dreceres" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Document nou" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Enganxa" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Desfés" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Refés" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Selecciona- ho tot" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Organitza les icones" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Organitza per.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Mostra l' escriptori en {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Obre en {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Edita els ginys" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Menú Shell.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Ha fallat en fer el SymLink" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "No s' ha pogut crear l' enllaç simbòlic" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Ha fallat en copiar/ moure" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} No existeix" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Escolliu l' acció per als fitxers" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Mou" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Copia" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Enllaç" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Carpeta" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Fitxer" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Ha fallat l' obertura del fitxer" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "No hi ha cap aplicació instal· lada per obrir fitxers \"{fo}\"." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Carpeta nova amb {0} element" +msgstr[1] "Carpeta nova amb {0} elements" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Obre-ho tot..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Engega" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Obre amb {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Obre" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Extreu aquí" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Extreu a..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Obre amb..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Obre amb una altra aplicació..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Engega usant la targeta gràfica integrat" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Pila d' aquest tipus" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Desmarca aquest tipus" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Executa com a programa" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Scripts" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Retalla" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Mou a..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Copia a..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Canvia el nom…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Crea enllaç..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Comprimeix {0} carpeta" +msgstr[1] "Comprimeix {0} carpeta" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Comprimeix {0} fitxer" +msgstr[1] "Comprimeix {0} fitxers" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Correu a..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Envia al dispositiu mòbil" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Mou a la paperera" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Suprimeix permanentment" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "No permetis que s'iniciï" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Buida la paperera" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Expulsa" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Desmunta" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Propietats comunes" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Propietats" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Mostra tot en {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Mostra a {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Obre a {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Obre element" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "S' ha cancel· lat l' extracció" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "No s' ha pogut extreure Fitxer, no hi ha carpeta de destí" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Selecciona el destí" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Selecciona" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "No es pot enviar un directori per correu electrònic" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "La selecció inclou un directori, comprimit en un fitxer. gz primer?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Error de correu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "No s' ha pogut trobar l' ordre zip, instal· leu el programa" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Arxiu. gzip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Hi ha hagut un error en crear un arxiu zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "" +"No s' ha pogut trobar el correu Xdg, si us plau instal· leu el programa" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Hi ha hagut un error en enviar fitxers de correu electrònic" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "No es pot obrir el directori de treball" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "No s' ha pogut obrir a la consola GNOME" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Instal· leu la consola GNOME o un altre programa de terminalName" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "No s' ha pogut obrir {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Instal· leu {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Copia la cancel· lada" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "No s' han pogut copiar els fitxers, cap carpeta de destí" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "S' ha cancel· lat el moviment" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "No es poden moure fitxers, cap carpeta de destí" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ no pot obrir fitxers d' aquest tipus!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Consola" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Drecera per omissió:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Tipus nou..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modificador + Tecla (p. ex. Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Reinicialitza a predeterminat" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Sense accelerador" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Dreceres del sistema" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Dreceres de teclat comuns del sistema" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Dreceres locals" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Dreceres de teclat d' aplicacions" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Dreceres globals" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Dreceres de teclat del sistema" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Dreceres de teclat" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Inicialitza les dreceres" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Reinicia totes les dreceres per defecte" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Inicialitza- ho tot..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Mostra l' escriptori als fitxers" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Obre al Terminal" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Canvia el fons" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Canvia els paràmetres de visualització" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Canvia l' arranjament de la icona de l' escriptori" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Neteja les icones" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Conserva les possibilitats" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Mantén apilat" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Ordena les carpetes especials" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Organitza les icones per nom" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Organitza les icones per nom de Descendent" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Organitza les icones per temps modificat" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Organitza les icones Per cortesia" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Organitza les icones per mida" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Cerca fitxers" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Actualitza l' escriptori" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Mostra els fitxers ocults" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Desselecciona- ho tot" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Vista prèvia" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Afegeix un giny" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Escolliu icona a l' esquerra" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Escolliu la icona a la dreta" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Escolliu icona amunt" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Escolliu icona avall" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Mostra el menú" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Mostra el menú shell" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Crea una drecera d' escriptori" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Entrada de text Activa" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Es desactiva l' entrada de text" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Mostra la drecera Visor" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Mostra o oculta les icones de l' escriptori" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Més informació" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Inici" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Paperera" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Pila" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Enllaç trencat" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "No es pot obrir aquest fitxer perquè és un enllaç trencat" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Unitat" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Preferències" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Usuari" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Permet" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Estricte" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Relaxada" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Desenvolupament" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Predeterminat" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Ordre:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Preferències" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" no està disponible" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Instal· la \"${programName}\" per habilitar les icones de l' escriptori per " +"a realitzar aquestes accions." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Escolliu la carpeta d' escriptori" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "No s'ha trobat l'ordre" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Escolliu una aplicació per obrir els fitxers seleccionats." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Usa sempre per aquest tipus de fitxer" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Cancel·la" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_ Obre" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Mostra icones a l'escriptori GNOME" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"desktop; icons; files; folders;manager; adevinament; show;launcher; " +"shortcuts;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Mostra <> Amaga" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Preferències" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Deshabilita" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Mida d'icona" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Estableix la mida per les icones de l'escriptori." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Mostra la carpeta personal" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Mostra la carpeta personal a l'escriptori." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Mostra la icona de la paperera" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Mostra la icona de la paperera a l'escriptori." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Angle d'inici de les icones noves" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Estableix la cantonada des d'on s'iniciaran les icones." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Mostra les unitats externes a l'escriptori" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Mostra les unitats de disc connectades a l'ordinador." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Mostra les unitats de xarxa a l'escriptori" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Mostra els volums de xarxa muntats a l'escriptori." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Afegeix noves unitats al costat oposat de la pantalla" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Quan s'afegeixin unitats i volums a l'escriptori, afegiu-los a la part " +"oposada de la pantalla." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Mostra un rectangle al lloc de destinació durant el DnD" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"En fer una operació d'arrossegar i deixar anar, marca el lloc a la graella " +"on la icona es posarà amb un rectangle semitransparent." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Ordena les carpetes especials - Drivecions d' inici/ Trash." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"En organitzar icones a l' escriptori, ordenar i canviar la posició de la " +"Inici, Paperera i muntada Xarxa o unitats externes" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Mantén les icones ordenades" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Mantén sempre les icones Ordenat per l' últim ordre concertat" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Ordre d' ordenació" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Icones ordenades per aquesta propietat" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Mantén les icones enpilades" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Mantén sempre les icones en pila, els tipus similars s' agrupen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Tipus de fitxer a no apilar" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Una matriu de tipus de cadenes, no desplegueu aquests tipus de fitxers" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Afegeix un emblema als enllaços" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Afegeix un abreviament per a permetre identificar enllaços tous." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Usa negre per al text d' etiqueta" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Pinta el text de l' etiqueta en blanc enlloc de blanc. És útil quan s' usen " +"fons clars." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Mostra les noves icones al monitor primari si està connectat" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Si un segon monitor està connectat, es col· locaran noves icones al monitor " +"no primari" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Les icones es poden posicionar a qualsevol lloc de l' escriptori" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Les icones no estan en una graella rectangular però es poden postionar " +"enlloc independent de la graella" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Ginys d'escriptori" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Oculta/Mostra totes les finestres d' escriptori" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Mostra les icones de l' escriptori, o oculta' les totes" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Dreceres d' aplicació d' usuari" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" +"Sobreescriu per omissió les dreceres d' aplicació establertes per l' usuari" diff --git a/ding/po/cs.po b/ding/po/cs.po new file mode 100644 index 0000000..a032ee8 --- /dev/null +++ b/ding/po/cs.po @@ -0,0 +1,2004 @@ +# 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. +# panmourovaty , 2021. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# LibreTranslate , 2023, 2024, 2026. +# Sundeep Mediratta , 2026. +# Pavel Vlček , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:09+0000\n" +"Last-Translator: Weblate \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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Přepsat" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Zkratky" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Upravit zkratky..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Upravit zkratky aplikací" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Zkratky Editable pouze tehdy, když rozšíření povoleno..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Nápověda přeložit ve vašem webovém prohlížeči" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Plocha" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Soubory" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Tyčinky" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Více" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Nastavení plochy" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Nastavení programu Desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Složka plochy" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Aktuální plocha:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Nastavení souborů" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Nastavení sdílené s Gnome soubory" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Různé Tyčinky" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Velikost ikon na pracovní ploše" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Drobný" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Malé" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Standardní" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Velké" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Zarovnání nových ikon" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Levý horní roh" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Horní pravý roh" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Dolní levý roh" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Pravý dolní roh" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Přidat nové ikony do Secondary Monitors první, pokud je k dispozici" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Ikony do mřížky" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Widgety plochy" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Nová složka plochy" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Nastavit novou složku pro plochu" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Vyberte" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Nastavit plochu zpět na ~ /" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Obnovit výchozí složku plochy" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Obnovit" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Zvýraznit rozpadovou síť" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Přidat informační symboly pro odkazy, šifrování" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Použít tmavý text v ikonových štítcích" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Zobrazit osobní složku na ploše" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Zobrazit ikonu koše na ploše" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Zobrazovat externí disky na ploše" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Zobrazit síťové disky na ploše" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Přidat nové jednotky na opačnou stranu plochy" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Akce k otevření položek" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Jeden klik" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Dvojklik" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Zobrazit náhledové obrázky" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Vždy" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Pouze na tomto počítači" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Nikdy" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Zobrazit položku kontextové nabídky, kterou chcete trvale smazat" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Zobrazit skryté soubory" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Otevřené složky na vznášedle" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "O..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Překlad" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Stroj přeložen pomocí LibreTranslate. Uživatel ověřil a upravil Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Upravit překlady" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Ověřit, přidat nebo opravit překlad ve vašem webovém prohlížeči" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Přeložit" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Zvolte aplikaci pro otevření {foo} < / b >" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Otevřít položky" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Otevřít složku" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Otevřít soubor" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Chyba při změně výchozí aplikace" + +# MT: LibreTranslate +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "Chyba při nastavení {foo} jako výchozí aplikace pro {mimetype}" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Neplatná oprávnění k souboru AppImage" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Tento soubor s AppImage má nesprávné oprávnění." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Kliknutím pravým tlačítkem myši upravte Vlastnosti:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Nastavit oprávnění, v" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Přístup k jiným" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Pouze pro čtení" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "nebo" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Žádné" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Povolit volbu" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Povolit spuštění souboru jako programu" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Nedůvěryhodný soubor s AppImage" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Tato aplikace Soubor s obrázkem není důvěryhodný, nelze jej spustit." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Pro spuštění klikněte pravým tlačítkem myši:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "povolit" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Povolit spouštění" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Název nové složky" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Přejmenovat soubor" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "Budiž" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Přejmenovat" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Automaticky Ar není nainstalován" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Chcete-li pracovat s komprimovanými soubory, nainstalujte fileroller a / " +"nebo gir- 1.2-gnome AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Vytahování souborů" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Skládací soubory" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Zrušit" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Zde zadejte heslo" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Odstranění částečného souboru '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Vytvoření adresáře cíle" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Extrakce souborů do '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Extrakce dokončena" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Extrakce '${fullPathFile}' byla dokončena." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Extrakce zrušena" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Extrakce '${fullPathFile}' byla uživatelem zrušena." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Passfrase požadované pro ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Chyba při extrakci" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Skládám soubory do '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Komprese dokončena" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Komprimování souborů do '${outputFile}' bylo dokončeno." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Zrušená komprese" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Výstupní soubor '${outputFile}' již existuje." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "Komprimování souborů do '${outputFile}' byl zrušen uživatelem." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Chyba při kompresi" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Vytvořit archiv" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Název archivu" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Heslo" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "Vytvořit" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Kompatibilní se všemi operačními systémy." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Heslo chráněné .zip, musí být nainstalováno na Windows a Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Menší archivy, ale jen Linux a Mac." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Menší archivy, ale musí být nainstalovány na Windows a Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Zobrazená plocha je zapisována ostatními" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop soubory nelze spouštět z této plochy, protože složka Desktop je " +"zapisovatelná ostatními uživateli.\n" +"\n" +"Zkontrolujte, prosím, oprávnění této Desktop složky, a ujistěte se, že to " +"není zapisovatelné ostatními." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Name" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Tento .desktop soubor má chyby nebo ukazuje na program bez oprávnění. Nemůže " +"být popraven.\n" +"\n" +"Upravit soubor pro nastavení správného spustitelného programu." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Neplatná oprávnění na desktop souboru" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Tento soubor na plochu má nesprávné oprávnění." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Nedůvěryhodný soubor na plochu" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Tento soubor Desktop není důvěryhodný, nelze jej spustit." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Nelze otevřít Soubor" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} nemůže otevřít soubory tohoto typu!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Složka plochy Změna selhala" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Nová desktop složka je symbolický odkaz" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Nová složka Desktop neexistuje nebo není složka!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Změněná složka plochy" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Přepínání na novou plochu..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Ikony plochy" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Aktualizovat plochu" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Přidat widget" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Monitor Frame Buffer Stupňování není povoleno" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Vícenásobné monitory s různými nastaveními zoomu, doporučují pro monitor " +"framebuffer škálování.\n" +"\n" +"Povolit prosím v nastavení Mutter Dconf" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Vícenásobné monitory s různým nastavením zoomu.\n" +"\n" +"Povolit zvětšení framebufferu na monitoru v Mutter Dconf Settings?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Povolit" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Nelze zobrazit plochu" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Složka Desktop {desktop} je symbolický odkaz\n" +"\n" +"Prosím nastavte složku plochy na skutečnou složku" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Složka Desktop {desktop} neexistuje, nebo není adresář\n" +"\n" +"Zkontrolujte instalaci xdg-utils a nastavte správnou složku Desktop" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME Soubor nenalezen" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "GNOME Aplikace souborů je vyžadována Gtk4 Desktop Ikony NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Neexistuje žádný výchozí správce souborů" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "" +"Neexistuje žádná aplikace, která zpracovává mimetype \"inode / adresář\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome soubory nejsou registrovány jako správce souborů" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Aplikace Gnome Files není naprogramována k otevření Složky!\n" +"Zkontrolujte si instalaci xdg-utils\n" +"Zkontrolovat Gnome soubory .desktop Instalace souborů" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Vymazat aktuální výběr před novým vyhledáváním" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Najít soubory na Ploše" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Nová složka" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Vytvoření složky selhalo" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Nelze vytvořit složku" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Nelze otevřít plochu v Gnome souborech" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Nastavení Okno je otevřeno" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Okno je otevřené. Přepněte prosím na aktivní okno." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Nastavení ikon na ploše" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Chyba při vytváření šablon" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Nelze vytvořit dokument" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Název" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Název ZA" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Upravený čas" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Typ" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Velikost" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Pokračujte.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Stacked by Type.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Třídit Domů / Drives / Trash.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Změnit plochu" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Obnovit výchozí plochu" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Nastavení ikony na ploše" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Zobrazit zkratky" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Nový Dokument" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Vložit" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Zpět" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Znovu" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Vybrat vše" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Uspořádat Ikony" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Uspořádat.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Zobrazit plochu v {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Otevřít v {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Upravit widget" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell Menu.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Vytvoření SymLink selhalo" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Nelze vytvořit symbolický odkaz" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Kopírovat / Přesunout selhalo" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} Neexistuje" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Vyberte akci pro soubory" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Pohyb" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Kopírovat" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Odkaz" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Složka" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Soubor" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Otevření souboru selhalo" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Pro otevření \"{fo}\" souborů není nainstalována žádná aplikace." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Nová složka s {0} položkou" +msgstr[1] "Nová složka s {0} položkami" +msgstr[2] "Nová složka s {0} položkami" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Otevřít vše..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Start" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Otevřít s {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Otevřít" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Rozbalit sem" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Rozbalit do…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Otevřít s..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Otevřít vše v jiné aplikaci..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Spustit pomocí integrované Grafické karty" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Nastavit tento typ" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Odložit tento typ" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Spustit jako program" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Skripty" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Vyjmout" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Přesun do..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Kopírovat..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Přejmenovat…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Vytvořit odkaz..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "out {0}" +msgstr[1] "out {0}" +msgstr[2] "out {0}" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Zkomprimovat {0} soubor" +msgstr[1] "Zkomprimovat {0} soubory" +msgstr[2] "Zkomprimovat {0} souborů" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "E-mail..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Poslat do mobilního zařízení" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Přesunout do koše" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Odstranit nadobro" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Nepovolit spouštění" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Vyprázdnit koš" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Vysunout" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Odpojit" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Vlastnosti" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Vlastnosti" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Zobrazit vše v {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Zobrazit v {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Otevřít v {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Otevřít položku" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Extrakce zrušena" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Nelze extrahovat Soubor, žádná cílová složka" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Vybrat místo určení" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Vybrat vše" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Nemůžete poslat složku emailem" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Výběr obsahuje Adresář, compress na .zip souboru jako první?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Chyba pošty" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Nelze najít příkaz zip, nainstalujte program" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Došlo k chybě při vytváření zip archivu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Nelze najít xdg-email, prosím nainstalujte program" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Došlo k chybě v emailových souborech" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Nelze otevřít pracovní adresář" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Nelze otevřít v konzoli Gnome" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Prosím nainstalujte konzoli Gnome nebo jiný Terminální program" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Nelze otevřít {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Prosím nainstalujte {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Kopie zrušena" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Nelze kopírovat soubory, žádná cílová složka" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Přesunout zrušena" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Nelze přesunout soubory, žádná cílová složka" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName $nemůže otevřít soubory tohoto typu!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Konzole" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Výchozí zkratka:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Typ nového..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modifikátor + klíč (např. Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Obnovit na výchozí" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Žádný urychlovač" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Systémové zkratky" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Společný systém definovaný zkratky klávesnice" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Místní zkratky" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Klávesové zkratky aplikace" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Globální zkratky" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Systémové klávesové zkratky" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Klávesové zkratky" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Obnovit zkratky" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Obnovit všechny zkratky na výchozí" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Obnovit vše..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Zobrazit plochu v souborech" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Otevřít v terminálu" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Změnit pozadí" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Změnit nastavení displeje" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Změnit nastavení ikony na ploše" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Vyčistit ikony" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Udržujte uspořádání" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Nastavit" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Třídit speciální složky" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Uspořádat ikony podle jména" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Uspořádat ikony sestupným jménem" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Uspořádat ikony podle modifikovaného času" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Uspořádat ikony Podle druhu" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Uspořádat ikony podle velikosti" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Najít soubory" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Aktualizovat plochu" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Zobrazit skryté soubory" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Odebrat vše" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Náhled" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Přidat widget" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Vyberte ikonu vlevo" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Vyberte ikonu vpravo" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Vybrat ikonu" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Vybrat ikonu dolů" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Zobrazit nabídku" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Zobrazit pozadí nabídky Shell" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Vytvořit zkratku na plochu" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Zapnutí textových příkazů" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Textové přihlašovací accesy Vypnout" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Zobrazit zkratku Prohlížeč" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Zobrazit nebo skrýt ikony plochy" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Více informací" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Domovská Složka" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Odpad" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Stack" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Rozbitý odkaz" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Nelze otevřít tento soubor, protože je to rozbitý Symlink" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Jeď" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Předvolby" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "Vidget HTML" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "GTK vidget" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Uživatel" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Povolit" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Striktní" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Uvolněný" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Rozvoj" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Výchozí" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Příkaz:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Předvolby" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" není k dispozici" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Nainstalujte \"${programName}\", aby Ikony Desktop mohly provádět tyto akce." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Vyberte složku plochy" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Příkaz nebyl nalezen" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Vyberte aplikaci pro otevření vybraných souborů." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Vždy použít pro tento typ souboru" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "Zrušit" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "Otevřít" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Zobrazovat ikony na ploše GNOME" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"desktop; ikony; soubory; složky; manažer; zařídit; skrýt; show; spouštěč; " +"zkratky;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Zobrazit < > Skrýt" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Předvolby" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Zakázat" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Velikost ikon" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Nastavit velikost pro ikony na pracovní ploše." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Zobrazovat osobní složku" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Zobrazovat osobní složku na pracovní ploše." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Zobrazovat koš" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Zobrazovat ikonu koše na pracovní ploše." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Místo kam se přidávají nové ikony" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Vyberte roh do kterého budou ikony pokládány." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Zobrazovat disky připojené k počítači" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Zobrazovat disky připojené k počítači." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Zobrazovat síťové disky připojené k počítači" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Zobrazovat připojené síťové disky připojené k počítači." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Dávat nové disky na opačnou stranu obrazovky" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Při připojení nových disků se jejich ikony budou zobrazovat na opačné straně " +"obrazovky." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Zobrazit čtverec při přetahování ikon" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Při přetahování ikon se místo kam bude ikona dána obarví poloprůhledným " +"čtvercem." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Seřadit speciální složky - Domovská složka/Jednotky/Koš." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Při uspořádání ikon na ploše můžete třídit a měnit polohu Domácí složky, " +"koše a připojených síťových nebo externích jednotek" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Nechat Ikony uspořádané" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Vždy nechat Ikony seřazené podle posledního řazení" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Pořadí seřazené" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Ikony seřazené podle této vlastnosti" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Udržet ikony stacked" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Vždy udržet Ikony Stacked, Podobné typy jsou seskupeny" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Typ souborů, které nemají stack" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Array řetězců typů, Nestack tyto typy souborů" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Přidat znak do odkazů" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Přidat znak umožňující identifikovat měkké odkazy." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Použijte černou pro text štítku" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Namalujte text etikety v černé místo bílé. Užitečné při použití světelného " +"pozadí." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Zobrazovat nové ikony na neprimárním monitoru, pokud jsou připojeny" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Pokud je připojen druhý monitor, jsou na neprimární monitor umístěny nové " +"ikony" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ikony lze umístit kdekoli na desktop" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ikony nejsou na obdélníkové mřížce, ale mohou být umístěny kdekoli nezávisle " +"na mřížce" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Widgety plochy" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Skrýt / Zobrazit všechna okna na ploše" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Zobrazit ikony na ploše, nebo skrýt všechny" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Uživatelské zkratky aplikace" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Override pro výchozí aplikace zkratky stanovené uživatelem" diff --git a/ding/po/da.po b/ding/po/da.po new file mode 100644 index 0000000..5e33925 --- /dev/null +++ b/ding/po/da.po @@ -0,0 +1,2041 @@ +# 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. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# LibreTranslate , 2023, 2024, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-20 21:36+0000\n" +"Last-Translator: Weblate \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" +"X-Generator: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Tilsidesæt" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Genveje" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Redigér genveje..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Redigér programgenveje" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Genveje Editable kun når udvidelse aktiveret..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Hjælp med at oversætte i din webbrowser" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Filer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Tweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Mere" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Desktopindstillinger" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Indstillinger for desktopprogrammet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Desktopmappe" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Nuværende skrivebord:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Filerindstillinger" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Indstillinger delt med Gnome- filer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Diverse Tweaks" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Størrelsen på skrivebordsikoner" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Lille" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Små" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Standard" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Store" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Nye ikoner justering" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Øverste venstre hjørne" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Øverste højre hjørne" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Nederste venstre hjørne" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Nederste højre hjørne" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Tilføj nye ikoner til sekundære skærme først, hvis de er tilgængelige" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Snap ikoner til gitter" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "Vis skrivebord i filer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Ny desktopmappe" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Sæt en ny mappe til skrivebordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Vælg" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Sæt skrivebordet tilbage til ~ /" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Gendan standard- desktopmappe" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Gendan" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Fremhæv dropgitteret" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Tilføj informationsemblemer for links, kryptering" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Brug mørk tekst i ikonetiketter" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Vis den personlige mappe på skrivebordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Vis affaldsikonet på skrivebordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Vis eksterne drev på skrivebordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Vis netværksdrev på skrivebordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Tilføj nye drev til den modsatte side af skrivebordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Handling på åbne elementer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Enkelt klik" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Dobbeltklik" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Vis billedminiaturer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Altid" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Kun på denne computer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Aldrig" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Vis et kontekstmenupunkt der skal slettes permanent" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Vis skjulte filer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Åbn mapper på træk svæver" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Om..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Oversættelse" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Maskine oversat ved hjælp af LibreTranslate. Brugeren verificeret og " +"redigeret på Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Redigér oversættelser" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Verificér, tilføj eller korrekt oversættelse i din webbrowser" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Oversæt" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Vælg et program til at åbne {foo} < / b >" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Åbn elementer" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Åbn mappe" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Åbn fil" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Fejl ved ændring af standardprogram" + +# MT: LibreTranslate +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "Fejl under indstilling {foo} som standardprogram for {mimetype}]" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Ugyldige tilladelser på AppImage- fil" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Denne AppImage fil har forkerte tilladelser." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Højre klik for at redigere Egenskaber, så:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Sæt rettigheder, i" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Andre adgang" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Læs kun" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "eller" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Ingen" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Aktivér indstilling" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Tillad at udføre fil som et program" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Ubetroet AppImage fil" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Denne app Billedfil er ikke betroet, det kan ikke blive lanceret." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "For at aktivere lancering, højreklik, derefter:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "aktivér" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Tillad opstart" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Mappenavn" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Filnavn" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "OK" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Omdøb" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Auto Ar er ikke installeret" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"For at kunne arbejde med komprimerede filer, skal du installere file- roller " +"og / eller gir- 1.2 -gnome AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Udtrækning af filer" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Komprimér filer" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Annullér" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Indtast en adgangskode her" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Fjerner delvis fil '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Oprettelse af destinationsmappe" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "'${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Udvinding afsluttet" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Udtrækning '${fullPathFile}' er afsluttet." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Udvinding annulleret" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "'${fullPathFile}' er blevet aflyst af brugeren." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Password kræves for ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Fejl under ekstraktion" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Komprimering af filer til '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Kompression afsluttet" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Komprimering af filer til '${outputFile}' er afsluttet." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Annulleret komprimering" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Outputfilen '${outputFile}' eksisterer allerede." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" +"Komprimering af filer til '${outputFile}' er blevet aflyst af brugeren." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Fejl under komprimering" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Opret arkiv" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Arkivnavn" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Adgangskode" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "Opret" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Kompatibel med alle operativsystemer." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Password beskyttet .zip, skal være installeret på Windows og Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Mindre arkiver, men kun Linux og Mac." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Mindre arkiver, men skal installeres på Windows og Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "The Displayed Desktop er skrivbar af andre" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop filer kan ikke startes fra dette skrivebord, da desktopmappen kan " +"skrives af andre brugere.\n" +"\n" +"Tjek tilladelser til denne desktop mappe, og sørg for, at det ikke er " +"skrivbar af andre." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Ødelagt skrivebordsfil" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Denne .desktop fil har fejl eller peger på et program uden tilladelser. Det " +"kan ikke henrettes.\n" +"\n" +"Redigér filen for at indstille det korrekte eksekverbare program." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Ugyldige tilladelser på skrivebordsfil" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Denne desktopfil har forkerte tilladelser." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Ubetroet skrivebordsfil" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Denne Desktop fil er ikke betroet, kan det ikke blive lanceret." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Kunne ikke åbne Fil" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} kan ikke åbne filer af denne type!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Desktopmappe Ændr mislykkedes" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Den nye desktopmappe er et symbolsk link" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Den nye desktopmappe eksisterer ikke eller er ikke en mappe!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Desktopmappe ændret" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Skifter til nyt skrivebord..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Desktopikoner" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Opdatér skrivebord" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Tilføj widget" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Monitor Frame Buffer Skalering er ikke aktiveret" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Flere skærme med forskellige zoom indstillinger, anbefaler per monitor " +"framebuffer skalering.\n" +"\n" +"Aktivér venligst i Mutter Dconf indstillinger" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Flere skærme med forskellige zoomindstillinger.\n" +"\n" +"Aktivér pr. monitor rammebuffer skalering i Mutter Dconf indstillinger?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Aktivér" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Kan ikke vise skrivebordet" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Desktopmappen {desktop} er et symbolsk link\n" +"\n" +"Sæt desktopmappen til en rigtig mappe" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Desktopmappen {desktop} eksisterer ikke, eller er ikke en mappe\n" +"\n" +"Tjek din xdg- utils installation og sæt den korrekte desktopmappe" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME Filer ikke fundet" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "GNOME Filer program kræves af Gtk4 Desktop Ikoner NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Der er ingen standard filhåndtering" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Der er intet program, der håndterer mimetype \"inode / mappe\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome- filer er ikke registreret som filhåndtering" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Programmet Gnome Files er ikke programmeret til at åbne mapper!\n" +"Tjek din xdg- utils installation\n" +"Tjek Gnome- filer. desktop Filinstallation" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Ryd nuværende markering før ny søgning" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Find filer på skrivebordet" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Ny mappe" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Mappe oprettelse mislykkedes" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Kunne ikke oprette mappe" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Kan ikke åbne skrivebord i Gnome- filer" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Indstillinger vinduet er åben" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Vinduet er åbent. Skift til det aktive vindue." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Indstillinger" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Fejl ved oprettelse af skabelon" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Kunne ikke oprette dokument" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Navn" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Navn Z-" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Ændret tid" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Type" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Størrelse" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Hold øje med.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Hold Stacked af Type.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Sortér hjem / drev / affald.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Ændr skrivebord" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Gendan standardskrivebord" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Indstillinger for desktop- ikon" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Vis genveje" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Nyt dokument" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Indsæt" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Fortryd" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Omgør" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Vælg alle" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Arranger ikoner" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Arranger med.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Vis skrivebord i {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Åbn i {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Ændre widgettere" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell menu.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Gøre SymLink mislykkedes" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Kunne ikke oprette symbolsk link" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Kopiér / flyt mislykkedes" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} Findes ikke" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Vælg handling for filer" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Flyt" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Kopiér" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Link" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Mappe" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Fil" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Åbningsfil mislykkedes" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Der er intet program installeret til at åbne \"{fo}\" filer." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Ny mappe med {0} post" +msgstr[1] "Ny mappe med {0} post" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Åbn alle..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Start" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Åbn med {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Åbn" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Pak ud her" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Pak ud i …" + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Åbn med..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Åbn alt med andet program..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Start ved hjælp af integreret grafikkort" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Stack denne type" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Fjern denne type" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Kør som et program" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Programmer" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Klip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Flyt til..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Modtaget til..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Omdøb …" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Opret link..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Komprimér {0} mappe" +msgstr[1] "Komprimér {0} mappe" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Kompres {0} fil" +msgstr[1] "Kompres {0} fil" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "E-mail til..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Send til mobilenhed" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Flyt til papirkurven" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Slet permanent" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Tillad ikke lancering" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Tøm papirkurven" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Skub ud" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Afmontér" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Almindelige egenskaber" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Egenskaber" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Vis alt i {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Vis i {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Åbn i {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Åbn element" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Udtrækning Annulleret" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Kan ikke udtrække Fil, ingen destinationsmappe" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Vælg destination" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Vælg" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Kan ikke maile en mappe" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Valg omfatter en mappe, komprimere til en .zip-fil først?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "E- mail- fejl" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Kan ikke finde zip kommando, skal du installere programmet" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Der var en fejl i at oprette et zip arkiv" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Kan ikke finde xdg- e- mail, skal du installere programmet" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Der var en fejl i e- mailing filer" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Kan ikke åbne arbejdsmappen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Kan ikke åbne i Gnome konsol" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Installer venligst Gnome-konsollen eller andre terminalprogrammer" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Kan ikke åbne {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "{0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Kopiér Annulleret" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Kan ikke kopiere filer, ingen destinationsmappe" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Flyt Annulleret" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Kan ikke flytte filer, ingen destinationsmappe" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName $kan ikke åbne filer af denne type!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Konsol" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Standard genvej:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Skriv nyt..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modifier + nøgle (fx Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Nulstil til standard" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Ingen accelerator" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Systemgenveje" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Fælles system defineret tastaturgenveje" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Lokale genveje" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Program tastaturgenveje" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Globale genveje" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Systemtastaturgenveje" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Tastaturgenveje" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Nulstil genveje" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Nulstil alle genveje til Standard" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Nulstil alle..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Vis skrivebord i filer" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Åbn i terminal" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Ændr baggrund" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Ændr visningsindstillinger" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Ændr indstillinger for desktop- ikon" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Rens op ikoner" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Fortsæt" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Hold stacked" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Sortér specielle mapper" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Arranger ikoner efter navn" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Arranger ikoner ved at angive navn" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Arranger ikoner ved ændret tid" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Arranger ikoner Efter art" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Arranger ikoner efter størrelse" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Find filer" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Opdatér skrivebord" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Vis skjulte filer" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Afmarkér alle" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Forhåndsvisning" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Tilføj widget" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Vælg ikon til venstre" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Vælg ikon til højre" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Vælg ikon op" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Vælg ikon nedad" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Vis menu" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Vis skal- baggrundsmenu" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Opret desktop- genvej" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "TekstindtastningsAccels tænd" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Tekstindgangspunkter slukkes" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Vis genvej Vis" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Vis eller skjul desktop- ikoner" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Mere information" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Hjem" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Affald" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Stack" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Brudt link" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Kan ikke åbne denne fil, fordi det er en brudt Symlink" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Kør" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Indstillinger" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Bruger" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Tillad" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Begrænset" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Afslappet" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Udvikling" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Standard" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Kommando:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Indstillinger" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" er ikke tilgængelig" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Installer \"${programName}\" for at aktivere desktop- ikoner til at udføre " +"disse handlinger." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Vælg desktopmappe" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Kommando ikke fundet" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Vælg en app til at åbne de valgte filer." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Brug altid denne filtype" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "Annullér" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "Åbn" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Vis ikoner på GNOME skrivebordet" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"desktop; ikoner; filer; mapper; manager; arrangere; skjule; show; lancerer; " +"genveje;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Vis < > Skjul" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Indstillinger" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Deaktivér" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Ikonstørrelse" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Angiv størrelsen på skrivebordsikoner." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Vis personlig mappe" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Vis den personlige mappe på skrivebordet." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Vis papirkurvsikon" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Vis papirkurvsikonet på skrivebordet." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Nye ikoner starter hjørne" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Sæt hjørnet hvorfra ikonerne begynder at blive placeret." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Vis eksterne drev i skrivebordet" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Vis diskdrev tilsluttet computeren." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Vis netværksdrev i skrivebordet" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Vis monterede netværksmængder i skrivebordet." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Tilføj nye drev til den modsatte side af skærmen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Når du tilføjer drev og mængder til skrivebordet, tilføje dem til den " +"modsatte side af skærmen." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Viser et rektangel på destinationen under DnD" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Når du laver en Drag 'n' Drop operation, markerer det sted i gitteret, hvor " +"ikonet vil blive sat med en semitransparent rektangel." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Sortér specielle mapper - Home / papirkurven drev." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Når du arrangerer ikoner på skrivebordet, til at sortere og ændre " +"placeringen af hjemmet, papirkurven og monteret Network eller eksterne drev" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Hold ikoner skjult" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Hold altid ikoner Arrangeret af den sidste aftalte ordre" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Arranger rækkefølge" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Ikoner der er omfattet af denne egenskab" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Hold ikoner stablede" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Altid holde Ikoner stacked, Lignende typer er grupperet" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Type filer der ikke skal stakkes" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "En Array af strenge typer, Må ikke stak disse typer af filer" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Tilføj et emblem til links" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Tilføj et emblem for at gøre det muligt at identificere bløde links." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Brug sort til etikettekst" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Mal etiketteksten i sort i stedet for hvid. Nyttigt, når du bruger lys " +"baggrund." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Vis nye ikoner på ikke primær skærm hvis tilsluttet" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Hvis en anden skærm er tilsluttet, nye ikoner er placeret på den ikke " +"primære skærm" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ikoner kan placeres hvor som helst på skrivebordet" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ikoner er ikke på et rektangulært gitter, men kan posteres hvor som helst " +"uafhængigt af gitter" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +#, fuzzy +msgid "Show Desktop Widgets" +msgstr "Vis skrivebord i filer" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Skjul / Vis alle desktopvinduer" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Vis ikonerne på skrivebordet, eller skjul dem alle" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Brugerprogramgenveje" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Tilslut for standard program genveje indstillet af brugeren" diff --git a/ding/po/de.po b/ding/po/de.po new file mode 100644 index 0000000..cf4b57b --- /dev/null +++ b/ding/po/de.po @@ -0,0 +1,1886 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the ding package. +# Tim Hofstede , 2021. +# Laurenz Bihlmayer , 2023, 2024, 2025, 2026. +# Andreas Rohr , 2023, 2024, 2025, 2026. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# LibreTranslate , 2023, 2024, 2025, 2026. +# Moritz , 2024. +# Bingo , 2024, 2025, 2026. +# Camorrista , 2025. +# Mirco Krause , 2025, 2026. +# Captain Falcon , 2025, 2026. +# Hidden Name , 2025, 2026. +# Bohdan , 2025. +# Deleted User , 2025, 2026. +# Matthias Griesmann , 2025. +# Max Reinhardt , 2025. +# Camorrista , 2026. +# Sundeep Mediratta , 2026. +# André Wille , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-03-04 22:11+0000\n" +"Last-Translator: André Wille \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: Weblate 5.17-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Überschreiben" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "Das Aussehen von Desktop Icons mit CSS anpassen" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" +"Hinweis: Kann bei falscher Anwendung zu Fehlverhalten der Erweiterung führen" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "CSS Anpassungsdatei bearbeiten..." + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "CSS Änderungen jetzt anwenden" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "Änderungen durch Neuladen der CSS Datei sofort anwenden" + +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Tastenkürzel" + +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Tastenkürzel bearbeiten…" + +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "App-Verknüpfungen bearbeiten" + +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Tastenkürzel nur bearbeitbar, wenn Erweiterung aktiv ist…" + +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Hilf mit, zu übersetzen (im Webbrowser)" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Schreibtisch" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Dateien" + +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Optimierungen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Mehr" + +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Desktop-Einstellungen" + +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Einstellungen für das Desktop-Programm" + +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Schreibtisch-Ordner" + +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Aktuelle Arbeitsfläche: " + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Dateieinstellungen" + +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Mit Gnome-Dateimanager geteilte Einstellungen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Verschiedenes Tweaks" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Größe der Arbeitsflächensymbole" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Winzig" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Klein" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Standard" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Groß" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Ausrichtung der Arbeitsflächensymbole" + +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Obere linke Ecke" + +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Obere rechte Ecke" + +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Untere linke Ecke" + +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Untere rechte Ecke" + +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" +"Neue Symbole zunächst zu sekundären Monitoren hinzufügen, sofern verfügbar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Symbole am Raster ausrichten" + +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Desktop-Widgets" + +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Neuer Schreibtisch-Ordner" + +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Einen neuen Ordner für den Schreibtisch festlegen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Wählen" + +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Zurücksetzen auf ~/" + +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Standard Schreibtisch-Ordner wiederherstellen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Zurücksetzen" + +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Das Raster anzeigen" + +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Emblem für Verknüpfungen oder Verschlüsselung hinzufügen" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Symbolbeschriftung mit dunklem Text" + +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Persönlichen Ordner auf dem Desktop anzeigen" + +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Papierkorbsymbol auf dem Desktop anzeigen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Externe Laufwerke auf dem Desktop anzeigen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Netzwerk-Laufwerke auf dem Desktop anzeigen" + +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "" +"Neue Laufwerke auf der gegenüberliegenden Seite des Desktops hinzufügen" + +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Aktion zum Öffnen von Elementen" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Einfacher Klick" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Doppelklick" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Miniatur-Vorschaubilder anzeigen" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Immer" + +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Nur auf diesem Computer" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Nie" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Aktion zum dauerhaften Löschen anzeigen" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Verborgene Dateien anzeigen" + +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Ordner beim Ziehen mit der Maus öffnen" + +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Über…" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Übersetzung" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Maschine übersetzt mit LibreTranslate. Benutzer verifiziert und auf Weblate " +"bearbeitet." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Übersetzungen bearbeiten" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "" +"Verifizieren, hinzufügen oder korrigieren Sie die Übersetzung in Ihrem " +"Webbrowser" + +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Übersetzen" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Wählen Sie eine Anwendung zum Öffnen von {foo}" + +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Offene Punkte" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Ordner öffnen" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Datei öffnen" + +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Fehler beim Ändern der Standardanwendung" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "Fehler beim Festlegen von {foo} als Standardanwendung für {mimetype}" + +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Ungültige Berechtigungen der AppImage-Datei" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Diese AppImage-Datei hat falsche Berechtigungen." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Rechts Klicken Sie, um Eigenschaften zu bearbeiten, dann:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Bewilligungen einstellen, in" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Zugriff auf andere" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Nur lesen" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "oder" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Keine" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Option aktivieren" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Erlauben Sie die Ausführung der Datei als Programm" + +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Nicht vertrauenswürdige AppImage-Datei" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "" +"Diese App Image-Datei ist nicht vertraut, es kann nicht gestartet werden." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Um das Starten zu aktivieren, klicken Sie mit der rechten Maustaste:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "ermöglichen" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Start erlauben" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Ordnername" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Dateiname" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "OK" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Umbenennen" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "AutoAr ist nicht installiert" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Um mit komprimierten Dateien arbeiten zu können, installieren Sie file-" +"roller und/oder gir-1.2-gnomeAutoAr" + +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Entpacke Dateien" + +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Dateien komprimieren" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Abbrechen" + +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Passwort hier eingeben" + +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Teildatei '${outputFile}' wird entfernt" + +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Zielordner erstellen" + +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Extrahieren von Dateien nach '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Extraktion abgeschlossen" + +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Das Extrahieren von '${fullPathFile}' wurde abgeschlossen." + +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Extraktion abgebrochen" + +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Das Extrahieren von '${fullPathFile}' wurde vom Benutzer abgebrochen." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Passphrase für ${filename} erforderlich" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Fehler beim Extrahieren" + +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Dateien nach '${outputFile}' komprimieren" + +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Komprimierung abgeschlossen" + +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Das Komprimieren der Dateien nach '${outputFile}' wurde abgeschlossen." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Komprimierung abgebrochen" + +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Die Ausgabedatei '${outputFile}' existiert bereits." + +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" +"Das Komprimieren von Dateien nach '${outputFile}' wurde vom Benutzer " +"abgebrochen." + +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Fehler bei der Komprimierung" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Archiv erstellen" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Archivname" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Passwort" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Erstellen" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Kompatibel mit allen Betriebssystemen." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "" +"Passwortgeschützte Zip-Datei, muss unter Windows und Mac installiert werden." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Kleinere Archive, nur Linux und Mac." + +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Kleinere Archive, muss aber unter Windows und Mac installiert werden." + +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Das angezeigte Desktop ist von anderen beschreibbar" + +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".desktop Dateien können nicht von diesem Desktop gestartet werden, da er " +"schreibbar für andere Nutzer ist.\n" +"\n" +"Bitte prüfen Sie die Berechtigungen des Desktop-Ordners und stellen Sie " +"sicher, dass er nicht für andere Nutzer schreibbar ist." + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Defekte Desktop-Datei" + +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Diese .desktop-Datei enthält Fehler oder zeigt auf ein Programm ohne " +"Berechtigungen. Sie kann nicht ausgeführt werden.\n" +"\n" +"Bearbeite die Datei, um das richtige Programm festzulegen." + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Ungültige Berechtigungen für Desktop-Datei" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Diese Desktop-Datei hat falsche Berechtigungen." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Nicht vertrauenswürdige Desktop-Datei" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "" +"Diese Desktop-Datei ist nicht vertraut, es kann nicht gestartet werden." + +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Konnte Datei nicht öffnen" + +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} kann Dateien dieses Typs nicht öffnen!" + +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Wechseln des Schreibtisch-Ordners fehlgeschlagen" + +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Der neue Schreibtisch-Ordner ist ein symbolischer Link" + +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Der neue Schreibtisch-Ordner existiert nicht oder ist kein Ordner!" + +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Desktop Ordner geändert" + +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Wechsle zum neuen Desktop..." + +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Desktop-Symbole" + +#: app/desktopGrid.js:2584 +msgid "Back to Desktop" +msgstr "Zurück zum Desktop" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "Widget-Raster umschalten" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Widget hinzufügen..." + +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Die Skalierung des Monitor-Frame-Buffers ist nicht aktiviert" + +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Mehrere Monitore mit unterschiedlichen Zoomeinstellungen, " +"Framebufferskalierung pro Monitor empfohlen.\n" +"\n" +"Bitte in Mutter Dconf-Einstellungen aktivieren" + +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Mehrere Monitore mit unterschiedlichen Zoomeinstellungen.\n" +"\n" +"Soll Framebufferskalierung pro Monitor in den Mutter Dconf-Einstellungen " +"aktiviert werden?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Ermöglichen" + +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Der Desktop kann nicht angezeigt werden" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Der Schreibtisch-Ordner {desktop} ist ein symbolischer Link\n" +"\n" +"Bitte wählen Sie einen realen Ordner als Schreibtisch-Ordner" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Der Schreibtisch-Ordner {desktop} existiert nicht oder ist kein Verzeichnis\n" +"\n" +"Prüfe die Installation der xdg-utils und setze den korrekten Ordner" + +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME-Dateimanager nicht gefunden" + +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "Der GNOME-Dateimanager wird von Gtk4 Desktop Icons NG benötigt." + +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Es gibt keinen Standard Dateimanager" + +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Es gibt keine Anwendung für den Mimetype \"inode/directory\"" + +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome \"Dateien\" ist nicht als Dateimanager registriert" + +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Der Gnome-Dateimanager ist nicht konfiguriert Ordner zu öffnen!\n" +"Überprüfe die xdg-utils Installation\n" +"Überprüfe die Gnome-Dateimanager .desktop Datei" + +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Aktuelle Auswahl vor einer neuen Suche löschen" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Dateien auf dem Schreibtisch finden" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Neuer Ordner" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Erstellen des Ordners fehlgeschlagen" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Ordner konnte nicht erstellt werden" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Unable to open Desktop in Gnome Dateien" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Das Einstellungsfenster ist geöffnet" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Dieses Fenster ist offen. Bitte wechseln Sie in das aktive Fenster." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Einstellungen" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Fehler bei der Vorlagenerstellung" + +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Dokument konnte nicht erstellt werden" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Name" + +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Name Z-A" + +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Geändert" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Typ" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Größe" + +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Angeordnet halten…" + +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Nach Typ gestapelt halten…" + +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Sortiere Home/Laufwerke/Papierkorb…" + +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Desktop ändern" + +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Standard Desktop wiederherstellen" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Desktop Icon Einstellungen" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Shortcuts anzeigen" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Neues Dokument" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Einfügen" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Rückgängig" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Wiederholen" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Alles auswählen" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Symbole anordnen" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Anordnen nach…" + +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Desktop in {0} anzeigen" + +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Öffnen in {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Widgets bearbeiten…" + +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell Menü…" + +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Erstellen des symbolischen Links fehlgeschlagen" + +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Symbolischer Link konnte nicht erstellt werden" + +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Kopieren/Verschieben fehlgeschlagen" + +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} existiert nicht" + +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Aktion für Dateien auswählen" + +#: app/dragManager.js:792 +msgid "Move" +msgstr "Verschieben" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Kopieren" + +#: app/dragManager.js:792 +msgid "Link" +msgstr "Link" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Ordner" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Datei" + +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Öffnen der Datei fehlgeschlagen" + +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Es ist keine Anwendung installiert, um \"{fo}\"-Dateien zu öffnen." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Neuer Ordner mit {0} Datei" +msgstr[1] "Neuer Ordner mit {0} Dateien" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Alle öffnen ..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Einleitung" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Öffnen mit {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Öffnen" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Hier entpacken" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Entpacken nach ..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Öffnen mit..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Alle mit anderer Anwendung öffnen." + +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Mit integrierter Grafikkarte starten" + +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Diesen Typ stapeln" + +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Diesen Typ entstapeln" + +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Als Programm ausführen" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Skripte" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Ausschneiden" + +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Verschieben nach..." + +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Kopieren nach..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Umbenennen…" + +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Verknüpfung erstellen..." + +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Komprimiere {0} Ordner" +msgstr[1] "Komprimiere {0} Ordner" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Komprimiere {0} Datei" +msgstr[1] "Komprimiere {0} Dateien" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "E-Mail an..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "An Mobilgerät senden" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "In den Papierkorb verschieben" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Dauerhaft löschen" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Start nicht erlauben" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Papierkorb leeren" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Auswerfen" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Aushängen" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Eigenschaften" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Eigenschaften" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Alle anzeigen in {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "In {0} anzeigen" + +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Öffnen in {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Auf den Wunschzettel" + +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Extraktion abgebrochen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Datei kann nicht extrahiert werden, kein Zielordner" + +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Ziel auswählen" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Auswählen" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Kann Verzeichnis nicht per E-Mail verschicken" + +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "" +"Auswahl beinhaltet ein Verzeichnis, zuerst zu einer .zip-Datei komprimieren?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Mail-Fehler" + +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Zip-Kommando nicht gefunden, bitte das Programm installieren" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archiv.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Es gab einen Fehler bei der Erstellung eines Zip-Archivs" + +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Konnte xdg-email nicht finden, bitte das Programm installieren" + +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Es gab einen Fehler beim Versand der Dateien" + +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Das Arbeitsverzeichnis kann nicht geöffnet werden" + +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Öffnen in Gnome Console fehlgeschlagen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Bitte installieren Sie Gnome Console oder ein anderes Terminalprogramm" + +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Kann {0} nicht öffnen" + +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Bitte {0} installieren" + +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Kopieren abgebrochen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Dateien können nicht kopiert werden, kein Zielordner" + +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Verschieben abgebrochen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Dateien können nicht verschoben werden, kein Zielordner" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ kann keine Dateien dieses Typs öffnen!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Terminal" + +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Standard Tastenkürzel:" + +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Neu festlegen…" + +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Zusatztaste + Taste (z.B. Strg + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Zurück zum Standard" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Kein Beschleuniger" + +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "System Tastenkürzel" + +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Allgemeine systemweite Tastenkürzel" + +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Lokale Tastenkürzel" + +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Anwendungstastenkürzel" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Globale Tastenkürzel" + +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "System Tastenkürzel" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Tastenkombinationen" + +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Alle Tastenkürzel zurücksetzen" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Alle Shortcuts auf Defaults zurücksetzen" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Alle zurücksetzen..." + +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Schreibtisch in Dateimanager anzeigen" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "In Konsole öffnen" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Hintergrund" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Anzeigeneinstellungen ändern" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Desktop Icon Einstellungen ändern" + +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Symbole aufräumen" + +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Angeordnet lassen" + +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Gestapelt lassen" + +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Spezial-Ordner sortieren" + +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Symbole nach Namen anordnen" + +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Symbole nach absteigendem Namen anordnen" + +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Symbole nach letzter Änderung anordnen" + +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Symbole nach Art anordnen" + +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Symbole nach Größe anordnen" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Dateien suchen" + +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Desktop aktualisieren" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Versteckte Dateien anzeigen" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Alle auswählen" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Voransicht" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "Tastaturauswahl umschalten" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "Widget-Ebene umschalten" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Widget hinzufügen" + +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Wähle Icon links" + +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Wähle Icon rechts" + +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Wähle Icon oben" + +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Wähle Icon unten" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Menü anzeigen" + +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Shell-Hintergrundmenü anzeigen" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Desktop Shortcut erstellen" + +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Texteingabe-Beschleunigung aktivieren" + +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Texteingabe-Beschleunigung deaktivieren" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Kurzbeschreibung Blick" + +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Desktop-Symbole anzeigen oder ausblenden" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Mehr Informationen" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Persönlicher Ordner" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Müll" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Stapel" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Ungültiger Link" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "" +"Diese Datei kann nicht geöffnet werden, da es sich um einen defekten " +"symbolischen Link handelt" + +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Laufwerk" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +msgid "Widget preferences" +msgstr "Widget-Einstellungen" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "HTML Widget" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "GTK Widget" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Benutzer" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Erlauben" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Streng" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" +"Das Widget wird in einer eng begrenzten Webumgebung ausgeführt.\n" +"\n" +"• Externe Skripte oder Frames sind nicht erlaubt.\n" +"• Netzwerkzugriff ist auf sichere (HTTPS) Requests begrenzt.\n" +"• Nur die Dateien und Code des Widgets werden ausgeführt.\n" +"\n" +"Dies ist die sicherste Option und wird für die meisten Widgets empfohlen." + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Entspannt" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" +"Dem Widget sind erweiterte Webfunktionen erlaubt.\n" +"\n" +"• Externe Skripte, Styles, Bilder und Frames von vertrauenswürdigen " +"Webseiten können geladen werden.\n" +"• Netzwerkzugriff über HTTPS, Websockets und Medienstreaming ist erlaubt.\n" +"\n" +"Nur für Widgets verwenden, denen man traut." + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Entwicklung" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" +"Das Widget läuft mit entwicklerfreundlichem Webzugriff.\n" +"\n" +"• Verbindungen zu lokalen Entwicklungsservern (localhost) sind zulässig.\n" +"• HTTP- und WebSocket-Zugriff kann zu Testzwecken erlaubt werden.\n" +"\n" +"Dieser Modus ist ausschließlich für Entwicklung und Debugging vorgesehen." + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Standard" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" +"Das Widget wird mit einer vordefinierten Web-Sicherheitsrichtlinie " +"ausgeführt.\n" +"\n" +"Webzugriff und -funktionen sind gemäß der aktiven Richtlinie eingeschränkt." + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "Webinhalte für {widgetId} erlauben?" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" +"Das Widget, das Sie hinzufügen, lädt möglicherweise Webinhalte aus dem " +"Internet.\n" +"\n" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" +"Dieser Inhalt unterliegt der Widget-Sicherheitsrichtlinie:\n" +"\n" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" +"Das Widget {widgetId} läuft als Hintergrundprozess auf Ihrem Rechner.\n" +"\n" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" +"Das Backend läuft mit Ihren normalen Benutzerberechtigungen, genau wie jede " +"andere Anwendung, die Sie starten.\n" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" +"Es kann gemäß Ihren Benutzerkontoberechtigungen auf Ihre Dateien, " +"Systemressourcen und das Netzwerk zugreifen.\n" +"\n" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Befehl:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" +"Erlauben Sie dies nur für Widgets, denen Sie uneingeschränkt vertrauen." + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "Widget-Backend erlauben?" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +msgid "Widget Preferences" +msgstr "Widget-Einstellungen" + +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" ist nicht verfügbar" + +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Installieren Sie \"${programName}\", damit Desktop Icons diese Aktion " +"ausführen kann." + +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Wähle Desktop-Ordner" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Befehl nicht gefunden" + +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Wählen Sie eine Anwendung, um die ausgewählten Dateien zu öffnen." + +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Für diesen Dateityp immer verwenden" + +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Abbrechen" + +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "Ö_ffnen" + +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Symbole auf dem Desktop anzeigen" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Gebräuchliche Bezeichnung" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Vorlieben" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Nicht verfügbar" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Symbolgröße" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Die Größe der Arbeitsflächensymbole festlegen." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Persönlichen Ordner anzeigen" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Den persönlichen Ordner auf der Arbeitsfläche anzeigen." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Papierkorb-Symbol anzeigen" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Das Papierkorb-Symbol auf der Arbeitsfläche anzeigen." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Ecke für neue Arbeitsflächensymbole" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "" +"Lege die Ecke fest, von der aus neue Arbeitsflächensymbole platziert werden." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Externe Laufwerke auf der Arbeitsfläche anzeigen" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Mit dem Rechner verbundene Festplattenlaufwerke anzeigen." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Netzwerk-Laufwerke auf der Arbeitsfläche anzeigen" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Eingehängte Netzwerk-Datenträger auf der Arbeitsfläche anzeigen." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Neue Laufwerke gegenüber auf dem Bildschirm hinzufügen" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Laufwerke und Datenträger auf gegenüberliegender Seite der Arbeitsfläche " +"hinzufügen." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Zeigt ein Rechteck an der Zielposition bei Drag & Drop an" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Bei einer Drag & Drop-Operation wird die Position im Raster, wo das Symbol " +"abgelegt wird, durch ein semitransparentes Rechteck angezeigt." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Sortieren besonderer Ordner - Home/Papierkorb/Laufwerke." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Beim Anordnen der Schreibtischsymbole: Zum Sortieren und Ändern der Position " +"von Home, Papierkorb und eingehängten/externen Laufwerken" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Symbole angeordnet halten" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Behalte immer zuletzt eingestellte Anordnung der Symbole" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Anordungsreihenfolge" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Nach dieser Eigenschaft angeordnete Symbole" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Symbole gestapelt lassen" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Symbole immer gestapelt lassen, ähnliche Typen werden gruppiert" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Typ der Dateien, die nicht gestapelt werden sollen" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Eine Liste von Zeichenfolgen, diese Dateitypen werden nicht gestapelt" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Links ein Emblem hinzufügen" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Emblem hinzufügen, um Softlinks zu erkennen." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Schwarz für Etikettentext verwenden" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Etikettentext in Schwarz statt Weiß darstellen. Nützlich bei Verwendung " +"heller Hintergründe." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Neue Icons auf nicht primärem Monitor anzeigen, wenn angeschlossen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Wenn ein zweiter Monitor angeschlossen ist, werden neue Icons auf dem nicht " +"primären Monitor platziert" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Icons können überall auf dem Desktop positioniert werden" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Icons sind nicht auf einem rechteckigen Raster, sondern können überall " +"unabhängig vom Raster positioniert werden" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Desktop-Widgets" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "Widgets in Ebene unterhalb der Icons anzeigen falls installiert" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Verberge/Zeige alle Desktop Fenster" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Symbole auf dem Desktop anzeigen oder alle ausblenden" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Benutzeranwendungsverknüpfungen" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" +"Überschreiben der vom Benutzer festgelegten Standardanwendungsverknüpfungen" diff --git a/ding/po/el.po b/ding/po/el.po new file mode 100644 index 0000000..7a6a75e --- /dev/null +++ b/ding/po/el.po @@ -0,0 +1,2089 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Athanasios Nektarios Karachalios Stagkas , 2024. +# Weblate Translation Memory , 2024, 2025, 2026. +# Weblate , 2024, 2025, 2026. +# LibreTranslate , 2024, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-20 21:36+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Greek \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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Παράκαμψη" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Συντομεύσεις" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Επεξεργασία συντομεύσεων..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Επεξεργασία συντομεύσεων εφαρμογής" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Συντομεύσεις Επεξεργασία μόνο όταν ενεργοποιηθεί η επέκταση..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Βοήθεια μεταφράσει στο πρόγραμμα περιήγησης ιστού σας" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Επιφάνεια εργασίας" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Αρχεία" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Τυφώνες" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Περισσότερα" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Settings επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Settings για το πρόγραμμα επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Φάκελος επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Τρέχουσα επιφάνεια εργασίας:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Settings αρχείων" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Settings που μοιράζονται με τα αρχεία Gnome" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Διάφορα Τυφώνες" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Μέγεθος για τα εικονίδια επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Μικρό" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Μικρό" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Πρότυπο" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Μεγάλο" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Νέα ευθυγράμμιση εικονιδίων" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Πάνω αριστερή γωνία" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Πάνω δεξιά γωνία" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Κάτω αριστερή γωνία" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Κάτω δεξιά γωνία" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" +"Προσθήκη νέων εικονιδίων στις δευτερεύουσες οθόνες πρώτα, αν είναι διαθέσιμες" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Προσαρμογή εικονιδίων στο πλέγμα" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Εργαλεία επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Νέο φάκελο επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Ορισμός νέου φακέλου για την επιφάνεια εργασίας" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Επιλογή" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Ορισμός επιφάνειας εργασίας στο ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Επαναφορά προκαθορισμένου φακέλου επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Επαναφορά" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Τονισμός του καννάβου πτώσης" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Προσθήκη εμβλημάτων πληροφοριών για συνδέσμους, κρυπτογράφηση" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Χρήση σκοτεινού κειμένου στις ετικέτες εικονιδίων" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Εμφάνιση του προσωπικού φακέλου στην επιφάνεια εργασίας" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Εμφάνιση του εικονιδίου απορριμάτων στην επιφάνεια εργασίας" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Εμφάνιση εξωτερικών οδηγών στην επιφάνεια εργασίας" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Εμφάνιση δίσκων δικτύου στην επιφάνεια εργασίας" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Προσθήκη νέων οδηγών στην αντίθετη πλευρά της επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Δράση για το άνοιγμα αντικειμένων" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Ένα κλικ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Διπλό κλικ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Εμφάνιση εικόνων επισκόπησης" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Πάντα" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Μόνο σε αυτόν τον υπολογιστή" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Ποτέ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Εμφάνιση ενός αντικειμένου μενού που θα διαγράψει μόνιμα" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Εμφάνιση κρυφών αρχείων" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Άνοιγμα φακέλων σε drag hover" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Σχετικά..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Μετάφραση" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Μηχανή που μεταφράζεται χρησιμοποιώντας LibreTranslate. Ο χρήστης επαλήθευσε " +"και επεξεργάστηκε στο Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Επεξεργασία μεταφράσεων" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "" +"Επαλήθευση, προσθήκη ή σωστή μετάφραση στο πρόγραμμα περιήγησης ιστού σας" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Μετάφραση" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Επιλέξτε μια εφαρμογή για άνοιγμα {foo} " + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Άνοιγμα αντικειμένων" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Άνοιγμα φακέλου" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Άνοιγμα αρχείου" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Σφάλμα αλλαγής προκαθορισμένης εφαρμογής" + +# MT: LibreTranslate +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "Σφάλμα κατά τη ρύθμιση {foo} ως προκαθορισμένη εφαρμογή για {mimetype}" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Μη έγκυρες άδειες στο αρχείο εικόνων εφαρμογών" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Αυτό το αρχείο εικόνων εφαρμογών έχει λανθασμένες άδειες." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Κάντε δεξί κλικ για να επεξεργαστείτε Ιδιότητες, τότε:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Ορισμός αδειών, in" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Πρόσβαση άλλων" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Μόνο ανάγνωση" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "ή" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Καμία" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Ενεργοποίηση επιλογής" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Επίτρεψε εκτέλεση αρχείου ως πρόγραμμα" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Μη έμπιστο αρχείο εικόνας εφαρμογών" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "" +"Αυτή η εφαρμογή Το αρχείο εικόνας δεν είναι αξιόπιστο, δεν μπορεί να " +"ξεκινήσει." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Για να ενεργοποιήσετε την εκκίνηση, κάντε δεξί κλικ, τότε:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "ενεργοποίηση" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Επίτρεψε εκκίνηση" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Όνομα φακέλου" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Όνομα αρχείου" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "ΕΝΤΆΞΕΙ" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Μετονομασία" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Αυτόματο Το Ar δεν είναι εγκατεστημένο" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Για να είναι σε θέση να λειτουργήσει με συμπιεσμένα αρχεία, εγκαταστήστε το " +"αρχείο-roller και / ή gir-1.2-gnome Αυτόματη ar" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Εξαγωγή αρχείων" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Συμπίεση αρχείων" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Ακύρωση" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Εισάγετε εδώ έναν κωδικό πρόσβασης" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Αφαίρεση μερικού αρχείου '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Δημιουργία φακέλου προορισμού" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Εξαγωγή αρχείων σε '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Η εξαγωγή ολοκληρώθηκε" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Η εξαγωγή '${fullPathFile}' έχει ολοκληρωθεί." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Η εξαγωγή ακυρώθηκε" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Η εξαγωγή '${fullPathFile}' ακυρώθηκε από το χρήστη." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Φράση πρόσβασης που απαιτείται για ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Σφάλμα κατά την εξαγωγή" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Συμπίεση αρχείων σε '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Η συμπίεση ολοκληρώθηκε" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Η συμπίεση αρχείων σε '${outputFile}' έχει ολοκληρωθεί." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Ακύρωση συμπίεσης" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Το αρχείο εξόδου '${outputFile}' υπάρχει ήδη." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "Η συμπίεση αρχείων σε '${outputFile}' έχει ακυρωθεί από το χρήστη." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Σφάλμα κατά τη συμπίεση" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Δημιουργία αρχειοθήκης" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Όνομα αρχειοθήκης" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Κωδικός πρόσβασης" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Δημιουργία" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Συμβατό με όλα τα λειτουργικά συστήματα." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "" +"Κωδικός πρόσβασης που προστατεύεται .zip, πρέπει να εγκατασταθεί στα Windows " +"και Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Μικρότερα αρχεία αλλά το Linux και το Mac μόνο." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Μικρότερα αρχεία αλλά πρέπει να εγκατασταθούν στα Windows και Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Η εμφανιζόμενη επιφάνεια εργασίας είναι εγγράψιμη από άλλους" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"Τα αρχεία .deskop δεν μπορούν να ξεκινήσουν από αυτή την επιφάνεια εργασίας " +"καθώς ο φάκελος επιφάνειας εργασίας είναι εγγράψιμος από άλλους χρήστες.\n" +"\n" +"Παρακαλώ ελέγξτε τις άδειες αυτού του φακέλου επιφάνειας εργασίας, και " +"βεβαιωθείτε ότι δεν είναι εγγράψιμο από άλλους." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Σπασμένο αρχείο επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Αυτό το αρχείο .desktop έχει σφάλματα ή σημεία σε ένα πρόγραμμα χωρίς " +"άδειες. Δεν μπορεί να εκτελεστεί.\n" +"\n" +"Επεξεργασία του αρχείου για τον ορισμό του σωστού εκτελέσιμου προγράμματος." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Μη έγκυρες άδειες στο αρχείο επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Αυτό το αρχείο επιφάνειας εργασίας έχει λανθασμένες άδειες." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Μη έμπιστο αρχείο επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Αυτό το αρχείο Desktop δεν είναι αξιόπιστο, δεν μπορεί να ξεκινήσει." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Αδυναμία ανοίγματος Αρχείο" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} δεν μπορεί να ανοίξει αρχεία αυτού του τύπου!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Φάκελος επιφάνειας εργασίας Αποτυχία αλλαγής" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Ο νέος φάκελος επιφάνειας εργασίας είναι ένας συμβολικός δεσμός" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Ο νέος φάκελος επιφάνειας εργασίας δεν υπάρχει ή δεν είναι φάκελος!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Ο φάκελος επιφάνειας εργασίας άλλαξε" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Αλλαγή σε νέα επιφάνεια εργασίας..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Εικονίδια επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Ενημέρωση επιφάνειας εργασίας" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Προσθήκη Γραφικού" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Διακόπτης πλαισίου παρακολούθησης Η κλιμάκωση δεν είναι ενεργοποιημένη" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Πολλαπλές οθόνες με διαφορετικές ρυθμίσεις zoom, συστήστε ανά κλιμάκωση " +"framebuffer οθόνης.\n" +"\n" +"Παρακαλώ ενεργοποιήστε τις ρυθμίσεις Mutter Dconf" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Πολλαπλές οθόνες με διαφορετικές ρυθμίσεις εστίασης.\n" +"\n" +"Ενεργοποίηση κλιμάκωσης καρέ ανά οθόνη στις ρυθμίσεις Mutter Dconf?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Ενεργοποίηση" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Αδυναμία εμφάνισης της επιφάνειας εργασίας" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Ο φάκελος Desktop {desktop} είναι ένας συμβολικός δεσμός\n" +"\n" +"Παρακαλώ ρυθμίστε το φάκελο επιφάνειας εργασίας σε έναν πραγματικό φάκελο" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Ο φάκελος επιφάνειας εργασίας {desktop} δεν υπάρχει ή δεν είναι κατάλογος\n" +"\n" +"Ελέγξτε την εγκατάσταση xdg- utils σας και ρυθμίστε το σωστό φάκελο " +"επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME Τα αρχεία δε βρέθηκαν" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "" +"Το GNOME Η εφαρμογή αρχείων απαιτείται από τα εικονίδια Gtk4 Desktop NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Δεν υπάρχει προκαθορισμένος διαχειριστής αρχείων" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Δεν υπάρχει εφαρμογή που χειρίζεται mimetype \"inode/directory\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Τα αρχεία Gnome δεν είναι καταχωρημένα ως διαχειριστής αρχείων" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Η εφαρμογή Αρχεία Gnome δεν είναι προγραμματισμένη για το άνοιγμα φακέλων!\n" +"Ελέγξτε την εγκατάσταση xdg- utils σας\n" +"Έλεγχος αρχείων Gnome . desktop Εγκατάσταση αρχείου" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Καθαρισμός τρέχουσας επιλογής πριν από τη νέα αναζήτηση" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Αναζήτηση αρχείων στην επιφάνεια εργασίας" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Νέος φάκελος" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Αποτυχία δημιουργίας φακέλου" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Αδυναμία δημιουργίας φακέλου" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Αδυναμία ανοίγματος της επιφάνειας εργασίας στα αρχεία Gnome" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Το παράθυρο προτιμήσεων είναι ανοιχτό" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "" +"Αυτό το παράθυρο είναι ανοιχτό. Παρακαλώ μεταβείτε στο ενεργό παράθυρο." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Settings" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Σφάλμα δημιουργίας προτύπου" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Αδυναμία δημιουργίας εγγράφου" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Όνομα" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Όνομα Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Τροποποιημένη ώρα" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Τύπος" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Μέγεθος" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Διατήρησε το.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Διατήρηση στοίβας ανά τύπο.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Ταξινόμηση Home/Drives/Trash.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Αλλαγή επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Επαναφορά προκαθορισμένης επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Settings εικονιδίου επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Εμφάνιση συντομεύσεων" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Νέο έγγραφο" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Επικόλληση" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Αναίρεση" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Επαναφορά" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Επιλογή όλων" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Κανονισμός εικονιδίων" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Κανόνισε.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Εμφάνιση επιφάνειας εργασίας σε {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Άνοιγμα σε {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Επεξεργασία πρόσθετων" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Μενού Shell.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Αποτυχία δημιουργίας SymLink" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Αδυναμία δημιουργίας συμβολικού δεσμού" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Η αντιγραφή/μετακίνηση απέτυχε" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} Δεν υπάρχει" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Επιλογή ενέργειας για αρχεία" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Κουνήσου" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Αντιγραφή" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Δεσμός" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Φάκελος" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Αρχείο" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Αποτυχία ανοίγματος αρχείου" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Δεν υπάρχει εγκατεστημένη εφαρμογή για άνοιγμα αρχείων \"{fo}\"." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Νέος φάκελος με {0} Θέση" +msgstr[1] "Νέος φάκελος με {0} Θέση" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Άνοιγμα όλων..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Έναρξη" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Άνοιγμα με {foo}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Άνοιγμα" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Εξαγωγή εδώ" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Εξαγωγή σε..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Άνοιγμα με..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Άνοιγμα όλων με άλλη εφαρμογή..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Έναρξη με τη χρήση ενσωματωμένης κάρτας γραφικών" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Στοίβα αυτού του τύπου" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Αποσύνδεση αυτού του τύπου" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Εκτέλεση ως πρόγραμμα" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Σενάρια" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Αποκοπή" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Μετακίνηση στο..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Αντιγραφή σε..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Μετονομασία.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Δημιουργία δεσμού..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Συμπίεση {0} φακέλου" +msgstr[1] "Συμπίεση {0} φακέλου" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Συμπίεση {0} αρχείο" +msgstr[1] "Συμπίεση {0} αρχείο" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Email σε..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Αποστολή σε κινητή συσκευή" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Μετακίνηση στα απορρίμματα" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Διαγραφή οριστικά" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Μην επιτρέπετε την εκκίνηση" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Κενά απορρίμματα" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Έκτρωση" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Αποπροσάρτηση" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Κοινές ιδιότητες" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Ιδιότητες" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Εμφάνιση όλων σε {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Εμφάνιση σε {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Άνοιγμα σε {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Άνοιγμα αντικειμένου" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Ακύρωση εξαγωγής" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Αδύνατη η εξαγωγή Αρχείο, χωρίς φάκελο προορισμού" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Επιλογή προορισμού" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Επιλογή" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Αδυναμία αποστολής ενός καταλόγου" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "" +"Η επιλογή περιλαμβάνει έναν κατάλογο, συμπιέστε σε ένα αρχείο .zip πρώτα?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Σφάλμα αλληλογραφίας" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Αδυναμία εύρεσης εντολής zip, παρακαλώ εγκαταστήστε το πρόγραμμα" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Αρχείο.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Υπήρξε ένα σφάλμα στη δημιουργία ενός αρχείου zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Αδυναμία εύρεσης του xdg- email, παρακαλώ εγκαταστήστε το πρόγραμμα" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Υπήρξε ένα σφάλμα στην αποστολή αρχείων" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Αδυναμία ανοίγματος του καταλόγου εργασίας" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Αδυναμία ανοίγματος σε κονσόλα Gnome" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Παρακαλώ εγκαταστήστε το Gnome Console ή άλλο πρόγραμμα τερματικού" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Αδυναμία ανοίγματος {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Παρακαλώ εγκαταστήστε {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Ακύρωση αντιγραφής" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Αδυναμία αντιγραφής αρχείων, χωρίς φάκελο προορισμού" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Ακύρωση μετακίνησης" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Αδυναμία μετακίνησης αρχείων, χωρίς φάκελο προορισμού" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "Το $appName$ δεν μπορεί να ανοίξει αρχεία αυτού του τύπου!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Κονσόλα" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Προκαθορισμένη συντόμευση:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Πληκτρολογήστε νέα..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Τροποποιητής + Κλειδί (π.χ. Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Επαναφορά στο προκαθορισμένο" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Χωρίς επιταχυντή" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Συντομεύσεις συστήματος" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Κοινές συντομεύσεις πληκτρολογίου καθορισμένου συστήματος" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Τοπικές συντομεύσεις" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Συντομεύσεις πληκτρολογίου εφαρμογής" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Γενικές συντομεύσεις" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Συντομεύσεις πληκτρολογίου συστήματος" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Συντομεύσεις πληκτρολογίου" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Επαναφορά συντομεύσεων" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Επαναφορά όλων των συντομεύσεων στα προκαθορισμένα" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Επαναφορά όλων..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Εμφάνιση επιφάνειας εργασίας σε αρχεία" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Άνοιγμα στο τερματικό" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Τροποποίηση φόντου" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Τροποποίηση ρυθμίσεων εμφάνισης" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Τροποποίηση εικονιδίων επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Εικονίδια καθαρισμού" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Διατήρηση σε ρύθμιση" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Διατήρηση στοίβαξης" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Ταξινόμηση ειδικών φακέλων" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Τακτοποίηση εικονιδίων κατά όνομα" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Τακτοποίηση εικονιδίων με Φθίνουσα ονομασία" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Ρυθμίστε τα εικονίδια κατά τροποποιημένο χρόνο" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Κανονισμός εικονιδίων Κατά Είδος" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Τακτοποίηση εικονιδίων κατά μέγεθος" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Αναζήτηση αρχείων" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Ενημέρωση επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Εμφάνιση κρυφών αρχείων" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Αποεπιλογή όλων" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Προεπισκόπηση" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Προσθήκη Γραφικού" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Επιλογή εικονιδίου αριστερά" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Επιλογή εικονιδίου δεξιά" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Επιλογή εικονιδίου πάνω" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Επιλογή εικονιδίου κάτω" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Εμφάνιση μενού" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Εμφάνιση μενού φόντου κελύφους" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Δημιουργία συντόμευσης επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Εισαγωγή κειμένου" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Η καταχώρηση κειμένου σβήνει" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Εμφάνιση συντόμευσης Προβολέας" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Εμφάνιση ή απόκρυψη εικονιδίων επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Περισσότερες πληροφορίες" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Σπίτι" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Απορρίμματα" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Στοίβα" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Σπασμένος δεσμός" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Αδυναμία ανοίγματος του αρχείου επειδή είναι ένα σπασμένο Symlink" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Οδήγα" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Προτιμήσεις" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Χρήστης" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Να επιτρέπεται" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Αυστηρό" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Χαλαρό" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Ανάπτυξη" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Προεπιλογή" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Εντολή:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Προτιμήσεις" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" δεν είναι διαθέσιμο" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Εγκαταστήστε \"${programName}\" για να ενεργοποιήσετε τα εικονίδια Desktop " +"για την εκτέλεση αυτών των ενεργειών." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Επιλογή φακέλου επιφάνειας εργασίας" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Η εντολή δε βρέθηκε" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Επιλέξτε μια εφαρμογή για το άνοιγμα των επιλεγμένων αρχείων." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Πάντα χρήση για αυτόν τον τύπο αρχείου" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Ακύρωση" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "Άνοιγμα" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Εμφάνιση εικονιδίων στην επιφάνεια εργασίας του GNOME" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"desktop; icons;files; folders; manager; arrange; hide; show; launcher; " +"shortcuts;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Εμφάνιση <>Απόκρυψη" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Προτιμήσεις" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Απενεργοποίηση" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Μέγεθος εικονιδίου" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Ορισμός του μεγέθους των εικονιδίων της επιφάνειας εργασίας." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Εμφάνιση προσωπικού φακέλου" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Εμφάνιση του προσωπικού φακέλου στην επιφάνεια εργασίας." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Εμφάνιση εικονιδίου απορριμάτων" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Εμφάνιση του εικονιδίου απορριμμάτων στην επιφάνεια εργασίας." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Νέα γωνία έναρξης εικόνων" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Ορισμός της γωνίας από όπου θα αρχίσουν να τοποθετούνται τα εικονίδια." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Εμφάνιση εξωτερικών οδηγών στην επιφάνεια εργασίας" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Εμφάνιση των δίσκων που συνδέονται με τον υπολογιστή." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Εμφάνιση δίσκων δικτύου στην επιφάνεια εργασίας" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Εμφάνιση προσαρμοσμένων όγκων δικτύου στην επιφάνεια εργασίας." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Προσθήκη νέων οδηγών στην αντίθετη πλευρά της οθόνης" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Κατά την προσθήκη δίσκων και όγκων στην επιφάνεια εργασίας, προσθέστε τα " +"στην αντίθετη πλευρά της οθόνης." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Εμφανίζει ένα ορθογώνιο στη θέση προορισμού κατά την DnD" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Όταν κάνετε μια λειτουργία Drag'n'Drop, σηματοδοτεί τη θέση στο πλέγμα όπου " +"το εικονίδιο θα τοποθετηθεί με ένα ημιδιαφανές ορθογώνιο." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Ταξινόμηση ειδικών φακέλων - Αρχική σελίδα/Trash Drives." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Κατά την οργάνωση εικονιδίων στην επιφάνεια εργασίας, να ταξινομήσετε και να " +"αλλάξετε τη θέση του σπιτιού, σκουπίδια και προσαρτημένα δίκτυα ή " +"εξωτερικούς οδηγούς" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Διατήρηση εικονιδίων" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Πάντα να κρατάς εικονίδια Κανονίστηκε με την τελευταία παραγγελία" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Διάταξη ρύθμισης" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Εικονίδια κανονισμένα από αυτό το ακίνητο" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Διατήρηση στοιβαγμένων εικονιδίων" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "" +"Διατηρείτε πάντα στοίβα εικονίδια, Παρόμοιοι τύποι είναι ομαδοποιημένοι" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Τύπος αρχείων για μη στοίβα" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Μια διάταξη τύπων συμβολοσειρών, Μην τοποθετείτε τέτοιου είδους αρχεία" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Προσθήκη εμβλήματος στους συνδέσμους" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Προσθήκη ενός εμβλήματος για την αναγνώριση των μαλακών συνδέσμων." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Χρήση μαύρου για κείμενο ετικέτας" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Βάψε το κείμενο της ετικέτας σε μαύρο αντί για λευκό. Χρήσιμο όταν " +"χρησιμοποιείτε φως φόντου." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Εμφάνιση νέων εικονιδίων σε μη κύρια οθόνη αν συνδέονται" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Εάν μια δεύτερη οθόνη είναι συνδεδεμένη, τοποθετούνται νέα εικονίδια στη μη " +"κύρια οθόνη" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "" +"Τα εικονίδια μπορούν να τοποθετηθούν οπουδήποτε στην επιφάνεια εργασίας" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Τα εικονίδια δεν βρίσκονται σε ορθογώνιο πλέγμα αλλά μπορούν να τοποθετηθούν " +"οπουδήποτε ανεξάρτητα από το πλέγμα" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Εργαλεία επιφάνειας εργασίας" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Απόκρυψη/ Εμφάνιση όλων των παραθύρων επιφάνειας εργασίας" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Εμφάνιση των εικονιδίων στην επιφάνεια εργασίας ή απόκρυψη όλων" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Συντόμευση εφαρμογής χρήστη" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" +"Αντικατάσταση για προκαθορισμένες συντομεύσεις εφαρμογής που καθορίζονται " +"από το χρήστη" diff --git a/ding/po/eo.po b/ding/po/eo.po new file mode 100644 index 0000000..2313308 --- /dev/null +++ b/ding/po/eo.po @@ -0,0 +1,2068 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# phlostically , 2022. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# LibreTranslate , 2024, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-20 21:36+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Esperanto \n" +"Language: eo\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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Transpasi" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Mallongigoj" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Edit Shortcuts ..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Redaktado Shortcuts" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Mallongigoj Redaktebla nur kiam Extension Enabled ..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Helpu traduki en via retumilo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Dosieroj" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Tweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Pli" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Desktop Settings" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Settings por la Desktop Programo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Desktop Folder" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Nuna tablo:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Dosieroj" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Settings kun Gnome Files" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Miscellaneous Tweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Size por la tablo ikonoj" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Tiny" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Malgranda malgranda" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Normo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Granda granda granda" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Novaj ikonoj paraleligo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Top maldekstra angulo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Supra dekstra angulo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Bottom forlasis angulon" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Fundo dekstra angulo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Aldonu novajn ikonojn al Sekundaraj ekranoj unue, se havebla" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Snap ikonoj al krado" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "Montras en Dosieroj" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "New Desktop Folder" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Akiri novan faldon por la tablo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Elektu elekti" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Agordas reen al ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Restore Default Desktop Folder" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Restore" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Plenigu la guton" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Aldonu informajn emblemojn por ligiloj, ĉifrado" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Uzu malhelan tekston en ikono etikedoj" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Montri la personan faldon sur la tablo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Montri la rubikon sur la tablo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Montri eksterajn veturadojn sur la tablo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Montri sendostaciajn veturadojn sur la tablo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Aldonu novajn veturadojn al la kontraŭa flanko de la tablo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Ago por malfermi ĝin" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Ununura klako" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Duobla klako" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Montri bildon dikfingronajil" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Ĉiam ĉiam" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "En ĉi tiu komputilo nur" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Neniam neniam" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Montri kuntekston menuo objekto forigi permanente" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Montri kaŝitajn dosierojn" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Malfermaj falduloj sur tiriĝ ŝvebas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Pri..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Traduko de tradukado" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Maŝino tradukita uzante LibreTranslate. Uzanto konfirmita kaj eldonita sur " +"Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Edit Translations" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Verify, aldoni aŭ korekti tradukon en via retumilo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Translate" + +# MT: LibreTranslate +#: app/appChooser.js:78 +#, fuzzy +msgid "Choose an application to open {foo}" +msgstr "out {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Malfermu ĝin" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Open Folder" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Malferma Dosiero" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Eraro ŝanĝanta defaŭltan aplikaĵon" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Invalid Permissions sur AppImage Files" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Tiu AppImage File havas malĝustajn Permissions." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Rekte Klaku redakti posedaĵojn, tiam:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "La jenaj paĝoj ligas al" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Aliaj Aliro" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Legu nur" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "aŭ" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Neniu" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Enigebla elekto" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Lasu Ekspluson kiel Programo" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Nefidita AppImage File" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Ĉi tiu app Bildo dosiero ne estas fidinda, ĝi ne povas esti lanĉita." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Por ebligi lanĉi, dekstra-klaki, tiam:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "ebligas ebligi" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Lasu min lanĉi" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Folder nomo" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Dosiero nomo" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "BONE" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Renomo" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Aŭto Ar ne estas instalita" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Por povi labori kun kunpremitaj dosieroj, instali dosierskribilon kaj/aŭ " +"ĝi-1.2-gnome Aŭtoj" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Ekstraktado de dosieroj" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Kunpremaj dosieroj" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Cancel" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Trovi pasvorton ĉi tie" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Kreanta destino falĉilo" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "out '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Ekstraktado kompletigis" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "out '${fullPathFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Ekstraktado nuligita" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "out '${fullPathFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "out ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Eraro dum ekstraktado" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Kunpremado finiĝis" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Kancela kunpremado" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Eraro dum kunpremado" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Kreu arkivon" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Arkivo nomo" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Pasvorto" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Krei" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Komparebla kun ĉiuj operaciumoj." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Password protektis .zip, devas esti instalita sur Fenestroj kaj Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Pli malgrandaj arkivoj sed Linukso kaj Mac nur." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "" +"Pli malgrandaj arkivoj sed devas esti instalitaj sur Fenestroj kaj Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "La Displayed Desktop estas akorda per aliaj" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop-dosieroj ne povas esti lanĉitaj de tiu Desktop kiam la Desktop " +"Folder estas asignoebla fare de aliaj uzantoj.\n" +"\n" +"Bonvolu kontroli la permesojn de tiu Desktop Folder, kaj certigi ke ĝi ne " +"estas asigno de aliaj." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Rompita Desktop File" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Tiu .desktop dosiero havas erarojn aŭ punktojn al programo sen permesoj. Ĝi " +"ne povas esti efektivigita.\n" +"\n" +"Redaktu la dosieron atribui la ĝustan efektivigeblan Programon." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Invalid Permissions sur Desktop File" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Tiu Desktop File havas malĝustajn Permissions." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Nefidita Desktop File" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Tiu Desktop dosiero ne estas fidinda, ĝi ne povas esti lanĉita." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Ne povas malfermi Dosiero" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "out {appName}" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Desktop Folder Ŝanĝoj" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "La nova Desktop Folder estas Simbola ligo" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "La nova Desktop Folder ne ekzistas aŭ ne estas Folder!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Desktop Folder Ŝanĝita" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Ŝanĝante al nova tablo..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Desktop Icons" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Ĝisdatigo Desktop" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Aldoni fenestraĵon" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Ekranko Buffer Scaling ne ebligas" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Multoblaj ekranoj kun malsamaj zoom-valoroj, rekomendas per monitora " +"kadrobuffer scaling.\n" +"\n" +"Bonvolu permesi en Mutter Dconf Settings" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Multoblaj ekranoj kun malsamaj zoom-valoroj.\n" +"\n" +"Nekapabla per monitora kadrobufferling en Mutter Dconf Settings?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Enable" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Ne povas montri la tablon" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "out {desktop}" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "out {desktop}" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GN Dosieroj ne trovitaj" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "La GN Files-aplikaĵo estas postulata fare de Gtk4 Desktop Icons NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Ekzistas neniu defaŭlta Dosiero" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Ekzistas neniu aplikiĝo kiu pritraktas mimetipon \"inodon/rektan\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome Files ne estas registrita kiel Dosiero" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"La Gnome Files apliko ne estas programita por malfermi Folders!\n" +"Kontrolu vian xdg-utils instalado\n" +"Kontrolu Gnome Files Dosiero instalado" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Klara aktuala selektado antaŭ nova serĉo" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Trovi Dosierojn sur Desktop" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Nova Folder" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Folder Creation Failed" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Ne povas krei faldon" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Nekapabla malfermi Desktop en Gnome Files" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Prefera fenestro estas malfermita" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Tiu fenestro estas malfermita. Bonvolu ŝanĝi al la aktiva fenestro." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Settings" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Kreado Eraro" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Ne povas krei dokumenton" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Nomo nomo" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Nomo Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Modifita Tempo" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Tipo" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Size" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Konservu .." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Tenita per Tipo.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Sort Home/Drives/Trash" + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Ŝanĝoj desktop" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Restore Default Desktop" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Desktop Icon Settings" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Montri mallongigojn" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Nova Dokumento" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Pasto" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Undo" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Redo" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Elektu ĉiujn" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Arrange Icons" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Arrange By.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "out {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell Menu.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Faranta SymLink Malsukcesa" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Ne povas krei simbolan ligon" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Copy/Move Failed" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Elekti Agon por Dosieroj" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Moviĝu" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Kopio" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Ligiloj" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Folder" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Dosiero" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Malferma Dosiero Malsukcesa" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "out \"{fo}\"" + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "out {0}" +msgstr[1] "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Malfermu ĉion..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "La lanĉo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "out {foo}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Malfermita" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Ekstraktado ĉi tie" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Ekstrakto al..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Malfermiĝi kun..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Malfermu ĉion kun alia aplikaĵo..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Lanĉo uzante Integrated Graphics Card" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Ĉi tiu tipo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Tiu tipo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Kiel programo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Tekstoj" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Tranĉo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Moviĝu al..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Kopiu al..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Renomo .." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Krei kun..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "out {0}" +msgstr[1] "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "out {0}" +msgstr[1] "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Retpoŝto al..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Sendu al Poŝtelefono Device" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Moviĝu al Trash" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Foriĝi permanente" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Ne permesu al mi lanĉi" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Empty Trash" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Eject" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Unmount" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Oftaj trajtoj" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Trajto" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Malfermu ĝin" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Ekstraktado povas okazi" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Nekapabla eltiri Dosiero, neniu destino falĉilo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Elekti Destination" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Elektu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Ne povas sendi Adresaron" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Selektado inkludas Adresaron, kunpremi al .zip-dosiero unue?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Antaŭa eraro" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Nekapabla trovi poŝtkomandon, bonvolu instali la programon" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Arkivo.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Ekzistis eraro en kreado de poŝtarkivo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Nekapabla trovi xdg-email, bonvolu instali la programon" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Estis eraro en retpoŝtoj Dosieroj" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Ne povas malfermi la laboran Adresaron" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Nekapabla malfermiĝi en Gnome Console" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Bonvolu Instali Gnome Console aŭ alia Terminalo Programo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Kopio povas" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Nekapabla kopii Dosierojn, neniu cellokfalinto" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Movo povas esti" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Nekapabla movi Dosierojn, neniu cellokfalinto" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "Apliki $ ne povas malfermi dosierojn de ĉi tiu tipo!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Console" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Defaŭlta mallongigo:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Tipo nova..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modifier + Ŝlosilo (ekz. Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Reiri al Defaŭl" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Neniu akcelilo" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Sistemo mallongigoj" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Komuna Sistemo Defined Keyboard Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Lokaj mallongigoj" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Bazaj Ŝlosiloj Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Tutmondaj mallongigoj" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Sistemo Keyboard Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Ŝlosilestraro Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Reset Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Remeti ĉiujn mallongigojn al Defaŭloj" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Remetu ĉion..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Montras en Dosieroj" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Malfermite en Terminalo" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Ŝanĝo Fono" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Ŝanĝoj de Settings" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Ŝanĝo Desktop Icon Settings" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Pura Supren Icons" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Konservu Arranged" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Konservi Stacked" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Saĝa Special Folders" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Arrange Icons laŭ nomo" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Arrange Icons By Descending Name" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Arrange Icons By Modified Time" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Arrange Icons de la speco" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Arrange Icons By Size" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Trovu dosierojn" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Ĝisdatigo Desktop" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Montri Hidden Files" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "La tuta" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Antaŭvido" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Aldoni fenestraĵon" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Elektu Icon Left" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Elektu Icon Right" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Elektu Icon Up" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Elektu Icon Down" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Montri menuojn" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Aparta Shell Fono Menu" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Kreu Desktop Shortcut" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Teksto Entry Accels Turn On" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Teksto Entry Accels Turn Off" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "La mallonga resumo Spektanto" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Montras aŭ Kaŝi Desktop Icons" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Pliaj informoj" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Hejmo" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Trash" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Stack" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Rompita ligo" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Ne povas malfermi tiun Dosieron ĉar ĝi estas Broken Symlink" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Veturado" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Preferoj" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Uzanto" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Permesi" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Strikta" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Malsevera" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Programado" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Implicita" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Komando:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Preferoj" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "out \"${programName}\"" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "out \"${programName}\"" + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Elekti Desktop Folder" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Ne trovita" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Elektu app por malfermi la elektitajn dosierojn." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Ĉiam uzi por ĉi tiu dosiero tipo" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "Ĉu eblas" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "Open" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Apartaj ikonoj sur la GNOME-tablo" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"tablo; fasoj; falantoj; managro;arrange;hide; spektaklo;lanĉilo; mallongigoj;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "La jenaj paĝoj ligas al" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Preferoj" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Distingebla" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Ikono grandeco" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "La grandeco por la tablo ikonoj." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Montri personan faldon" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Montri la personan faldon en la tablo." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Montri rubikon" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Montri la rubikon en la tablo." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Novaj ikonoj komencas angulon" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "La angulo de kie la ikonoj komencos esti metitaj." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Montri eksterajn veturadojn en la tablo" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Montri la diskojn ligitajn al la komputilo." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Montri sendostaciajn veturadojn en la tablo" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Spektaklo muntis sendostaciajn volumojn en la tablo." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Aldoni novajn veturadojn al la kontraŭa flanko de la ekrano" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Dum aldonado de veturadoj kaj volumoj al la tablo, aldonas ilin al la " +"kontraŭa flanko de la ekrano." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Montras rektangulon en la cellokloko dum DnD" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Dum farado de Drag'n'Drop operacio, markas la lokon en la krado kie la ikono " +"estos metita kun duontravidebla rektangulo." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Sort Special Folders - Hejmo/Trash Drives." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Dum aranĝado de Icons sur skribotablo, ordigi kaj ŝanĝi la pozicion de la " +"hejmo, Trash kaj muntis Reton aŭ External Drives" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Icons Arranged" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Ĉiam tenas Icons Aranĝita fare de la lasta aranĝita ordo" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Arrange Order" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Icons Arranged per tiu posedaĵo" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Konservu Icons Stacked" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Ĉiam teni Icons Stacked, Similaj tipoj estas grupigitaj" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Tipo de Dosieroj al ne Stack" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Array de kordoj tajpas, Don't Stack tiuj specoj de dosieroj" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Aldonu emblemon al ligiloj" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Aldonu emblemon por permesi identigi molajn ligilojn." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Uzu nigron por etikedteksto" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Doloro la etikedoteksto en nigra anstataŭe de blanka. Utila dum uzado de " +"malpezaj fonoj." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Montri novajn ikonojn sur ne primara ekrano se ligite" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Se dua ekrano estas ligita, novaj ikonoj estas metitaj sur la ne primaran " +"ekranon" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ikono povas esti poziciigita ie ajn sur Desktop" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ikonoj ne estas sur rektangula krado sed povas esti senditaj ie ajn " +"sendepende de krado" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +#, fuzzy +msgid "Show Desktop Widgets" +msgstr "Montras en Dosieroj" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Hide/Show ĉiuj tablofenestroj" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Montri la ikonojn sur la tablo, aŭ kaŝu ilin ĉiujn" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Uzanto Apliko Shortcuts" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Override por defaŭltaj aplikiĝo mallongigoj metitaj fare de la Uzanto" diff --git a/ding/po/es.po b/ding/po/es.po new file mode 100644 index 0000000..3eb3a59 --- /dev/null +++ b/ding/po/es.po @@ -0,0 +1,1934 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Daniel Mustieles , 2018-2019. +# Sergio Costas , 2018-2023, 2026. +# gallegonovato , 2023. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# LibreTranslate , 2024, 2026. +# Josman Goncalves Bravo , 2025, 2026. +# Mayco Emanuel Portillo , 2025, 2026. +# Anthony Montero , 2025. +# Marcos , 2025. +# Francisco Serrador , 2025, 2026. +# Deleted User , 2025, 2026. +# Quentin PAGÈS , 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:10+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Spanish \n" +"Language: 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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Anular" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "Personalice las apariencias de los iconos de escritorio con CSS" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "Aviso: esto puede romper la extensión si se hizo incorrectamente" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "Editar archivo de anulación de CSS…" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "Aplicar cambios CSS ahora" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "Recarga el CSS para aplicar cambios inmediatamente" + +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Atajos" + +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Editar accesos directos..." + +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Editar atajos de aplicación" + +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Los atajos son editables solo cuando la extensión esté activada…" + +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Ayuda a traducir en tu navegador web" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Escritorio" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Archivos" + +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Ajustes" + +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Más" + +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Configuración de escritorio" + +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Configuración para el programa de escritorio" + +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Carpeta Escritorio" + +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Escritorio actual: " + +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Ajustes de archivos" + +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Configuraciones compartidas con Gnome Files" + +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Ajustes varios" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Tamaño de los iconos del escritorio" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Diminuto" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Pequeño" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Estándar" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Grande" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Alineamiento de iconos nuevos" + +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Esquina superior izquierda" + +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Esquina superior derecha" + +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Esquina izquierda inferior" + +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Esquina derecha inferior" + +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" +"Agregue nuevos íconos a los monitores secundarios primero, si están " +"disponibles" + +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Ajustar iconos a la cuadrícula" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Miniaplicaciones de escritorio" + +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Nueva carpeta Escritorio" + +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Establecer una nueva carpeta para el escritorio" + +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Elegir" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Restablecer escritorio a ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Restaurar carpeta predeterminada de escritorio" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Restaurar" + +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Destacar la rejilla desplegable" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Añadir emblemas de información para enlaces, cifrado" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Utilizar texto oscuro en las etiquetas de los iconos" + +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Mostrar la carpeta personal en el escritorio" + +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Mostrar el icono de la papelera en el escritorio" + +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Mostrar unidades externas en el escritorio" + +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Mostrar unidades de red en el escritorio" + +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Añadir nuevas unidades en el lado opuesto del escritorio" + +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Acción para abrir elementos" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Pulsación simple" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Pulsación doble" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Mostrar miniaturas de imágenes" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Siempre" + +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Solo en este equipo" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Nunca" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Permitir borrar permanentemente desde el menú contextual" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Mostrar archivos ocultos" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Abrir carpetas al arrastrar flotador" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Acerca de..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Traducción" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Máquina traducida usando LibreTranslate. Usuario verificado y editado en " +"Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Editar traducciones" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Verificar, agregar o corregir la traducción en su navegador web" + +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Traducir" + +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Elija una aplicación para abrir {foo}" + +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Elementos abiertos" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Abrir carpeta" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Abrir archivo" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Error al cambiar la aplicación predeterminada" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" +"Error al establecer {foo} como aplicación predeterminada para {mimetype}" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Permisos no válidos en Archivo AppImage" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Este archivo AppImage tiene permisos incorrectos." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Haga clic derecho para editar Propiedades, entonces:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Establecer permisos, en" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Otros accesos" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Leer sólo" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "o" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Ninguno" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Opción habilitada" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Permitir ejecutar archivo como un programa" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Archivo AppImage no confiable" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "" +"Esta aplicación El archivo de imagen no es confiable, no se puede lanzar." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "" +"Para permitir el lanzamiento, haga clic con el botón derecho, entonces:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "habilitación" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Permitir lanzar" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Nombre de la carpeta" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Nombre de archivo" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "Aceptar" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Renombrar" + +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "AutoAr no está instalado" + +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Para poder trabajar con archivos comprimidos, instale file-roller y/o " +"gir-1.2-gnomeAutoAr" + +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Extrayendo archivos" + +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Comprimir archivos" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Cancelar" + +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Introduzca una contraseña aquí" + +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Eliminando el archivo parcial '${outputFile}'" + +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Creando carpeta de destino" + +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Extrayendo archivos en '${outputPath}'" + +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Extracción completada" + +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Se completó la extracción de '${fullPathFile}'." + +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Extracción cancelada" + +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "El usuario canceló la extracción de '${fullPathFile}'." + +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Se necesita una contraseña para ${filename}" + +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Error durante extracción" + +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Comprimir archivos en «${outputFile}»" + +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Compresión completada" + +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Se ha completado la compresión de archivos en '${outputFile}'." + +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Compresión cancelada" + +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "El archivo de salida '${outputFile}' ya existe." + +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" +"La compresión de archivos en «${outputFile}» ha sido cancelada por el " +"usuario." + +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Error durante compresión" + +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Crear archivo" + +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Nombre del archivo" + +#: app/autoAr.js:608 +msgid "Password" +msgstr "Contraseña" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "Crear" + +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Compatible con todos los sistemas operativos." + +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr ".zip protegido con contraseña, debe instalarse en Windows y Mac." + +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Archivos más pequeños pero compatible sólo con Linux y Mac." + +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Archivos más pequeños pero deben descomprimirse en Windows y Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "El Escritorio Exhibido es escribible por otros" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"Los archivos .deskop no pueden ser lanzados desde este Escritorio ya que la " +"Carpeta del Escritorio\n" +"es escribible por otros usuarios.\n" +"\n" +"Compruebe los permisos de esta Carpeta de Escritorio, y asegúrese que no es " +"escribible por otros." + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Archivo de Escritorio Dañado" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Este archivo .desktop tiene errores o apunta a un programa sin permisos. No " +"se puede ejecutar.\n" +"\n" +"Edite el archivo para establecer el Programa ejecutable correcto." + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Permisos no válidos en el Archivo de Escritorio" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Este archivo de escritorio tiene Permisiones incorrectas." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Archivo de Escritorio Inconfiable" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Este archivo de escritorio no es confiable, no se puede lanzar." + +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "No se pudo abrir el archivo" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "¡{appName} no puede abrir archivos de este tipo!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Cambio de Carpeta de Escritorio Incorrecto" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "La Carpeta Escritorio nueva es un Enlace Simbólico" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "¡La Carpeta de Escritorio nueva no existe o no es una carpeta!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Carpeta de escritorio cambiada" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Cambiar a nuevo Escritorio..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Iconos de Escritorio" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +msgid "Back to Desktop" +msgstr "Volver a Escritorio" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +#, fuzzy +msgid "Toggle Widget Grid" +msgstr "Conmutar capa de widget" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Agregar Widget" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Escalado del Tampón de Fotogramas del Monitor no está habilitado" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Múltiples monitores con diferentes ajustes de zoom, recomiendan el escalado " +"de framebuffer de monitor.\n" +"\n" +"Por favor, active en Ajustes de Dconf Mutter" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Múltiples monitores con diferentes configuraciones de zoom.\n" +"\n" +"Activar por monitor escalar framebuffer en Ajustes de Dconf Mutter?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Habilitar" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "No se puede mostrar el Escritorio" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"La carpeta de escritorio {desktop} es un enlace simbólico\n" +"\n" +"Por favor, ponga la carpeta de escritorio a una verdadera carpeta" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"La carpeta de escritorio {desktop} no existe, o no es un directorio\n" +"\n" +"Compruebe su instalación de xdg-utils y establecer la Carpeta de\n" +"Escritorio correcta" + +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "No se encontró GNOME Files" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "La aplicación GNOME Files se requiere por Gtk4 Desktop Icons NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "No hay Gestor de Archivo predeterminado" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "No hay ninguna aplicación que maneje mimetype «inode/directory»" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome Files no está registrado como un Gestor de Archivo" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"¡La aplicación GNOME Files no está programada para abrir carpetas!\n" +"Compruebe su instalación de xdg-utils\n" +"Compruebe la instalación del Archivo .desktop de GNOME Files" + +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Borre la selección actual antes de comenzar una nueva búsqueda" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Buscar archivos en Escritorio" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Nueva carpeta" + +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Error al crear la carpeta" + +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "No se pudo crear la carpeta" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Incapaz de abrir Escritorio en Gnome Files" + +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "La ventana de preferencias está abierta" + +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Esta ventana está abierta. Cambie a la ventana activa." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Ajustes" + +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Error al crear la plantilla" + +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "No se pudo crear el documento" + +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Nombre" + +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Nombre Z-A" + +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Fecha de modificación" + +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Tipo" + +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Tamaño" + +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Mantener ordenado…" + +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Mantener apilados por tipo…" + +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Ordenar Inicio/Unidades/Papelera…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Cambiar Escritorio" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Restaurar Escritorio por defecto" + +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Configuración de iconos de escritorio" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Mostrar atajos" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Documento nuevo" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Pegar" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Deshacer" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Rehacer" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Seleccionar Todo" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Ordenar Iconos" + +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Organizar por…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Mostrar Escritorio en {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Abrir en {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Editar widget…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Menú Shell…" + +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Creación Incorrecta de Enlace Simbólico" + +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "No se pudo crear el enlace simbólico" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Copiado/Traslado incorrecto" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} No existe" + +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Elegir acción para archivos" + +#: app/dragManager.js:792 +msgid "Move" +msgstr "Mover" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Copiar" + +#: app/dragManager.js:792 +msgid "Link" +msgstr "Enlace" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Carpeta" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Archivo" + +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Apertura de Archivo Incorrecta" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "No hay ninguna aplicación instalada para abrir «{fo}» archivos." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Nueva carpeta con {0} elemento" +msgstr[1] "Nueva carpeta con {0} elementos" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Abrir todo..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Lanzamiento" + +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Abrir con {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Abrir" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Extraer aquí" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Extraer a..." + +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Abrir con..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Abrir todo con otra aplicación..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Lanzar utilizando la Tarjeta Gráfica integrada" + +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Agrupar este tipo" + +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Desagrupar este tipo" + +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Ejecutar como un programa" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Scripts" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Cortar" + +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Mover a..." + +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Copiar a..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Renombrar…" + +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Crear enlace..." + +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Comprimir {0} carpeta" +msgstr[1] "Comprimir {0} carpetas" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Comprimir {0} archivo" +msgstr[1] "Comprimir {0} archivos" + +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Enviar correo-e a..." + +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Enviar a dispositivo móvil" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Mover a la papelera" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Borrar permanentemente" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "No conceder lanzado" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Vaciar la papelera" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Expulsar" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Desmontar" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Características comunes" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Propiedades" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Mostrar todo en {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Mostrar en {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Abrir en {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Abrir elemento" + +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Extracción cancelada" + +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "No se puede extraer el archivo, no hay carpeta de destino" + +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Seleccione el destino" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Seleccionar" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "No se puede enviar un directorio" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "" +"La selección incluye un Directorio, ¿comprimo a un archivo .zip primero?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Error de correo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Incapaz de encontrar el comando zip, por favor instale el programa" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archivador.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Hubo un error en la creación de un archivo zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Incapaz de encontrar xdg-email, por favor instale el programa" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Hubo un error en el correo electrónico Archivos" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "No puede abrir el Directorio de Trabajo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Incapaz de abrir en la consola Gnome" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Por favor, instale Gnome Console u otro programa terminal" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Incapaz de abrir {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Instala {0}" + +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Copia cancelada" + +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "No se pueden copiar archivos, no hay carpeta de destino" + +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "\"Mover\" cancelado" + +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "No se pueden mover archivos, no hay carpeta de destino" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ no puede abrir archivos de este tipo!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Consol" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Atajo predeterminado:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Teclee nuevo…" + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modificador + Clave (p. ej. Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Restaurar por defecto" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Sin acelerador" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Atajos del sistema" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Atajos de teclado definidos del sistema usual" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Atajos locales" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Aplicación de Atajos del Teclado" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Atajos mundiales" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Atajos de teclado del sistema" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Atajos de teclado" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Restablecer Atajos" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Reinicia todos los atajos a Predeterminados" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Reiniciar todo..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Mostrar Escritorio en Archivos" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Abrir en una terminal" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Cambiar Fondo" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Cambiar ajustes de visualización" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Cambiar Ajustes del Icono del Escritorio" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Limpiar iconos" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Mantén arreglado" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Mantén atascado" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Carpetas especiales" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Arregle Iconos por Nombre" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Ordene los iconos por nombre descendente" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Arregle Iconos Por Tiempo Modificado" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Arrange Icons Por favor" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Arranque Iconos por tamaño" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Encontrar archivos" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Actualización" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Mostrar archivos ocultos" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "No Seleccionar Nada" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Vista previa" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "Conmutar capa de widget" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Añadir widget" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Elija Icon Left" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Elija Icon Right" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Elija Icon Up" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Elija Icon Down" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Mostrar menú" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Exhibir menú de fondo Shell" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Crear acceso directo a escritorio" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Activar Aceleradores de Apunte de Texto" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Apagar Aceleraciones de Apunte de Texto" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Mostrar acceso directo Viewer" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Mostrar o ocultar iconos de escritorio" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Más información" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Carpeta personal" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Papelera" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Pila" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Enlace roto" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "No se puede abrir este Archivo porque es un Enlace Roto" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Unidad" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +msgid "Widget preferences" +msgstr "Preferencias de Widget" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "Widget HTML" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "Widget GTK" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Usuario" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Permitir" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Estricto" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" +"El widget se ejecuta en un entorno web estrictamente aislado.\n" +"\n" +"• No se permiten scripts ni marcos externos.\n" +"• El acceso a la red está limitado a solicitudes seguras (HTTPS).\n" +"• Solo se pueden ejecutar los archivos y el código en línea del widget.\n" +"\n" +"Esta es la opción más segura y se recomienda para la mayoría de los widgets." + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Relajado" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" +"El widget permite capacidades web más amplias.\n" +"\n" +"• Es posible que se carguen scripts, estilos, imágenes y marcos externos de " +"sitios web confiables.\n" +"• Se permite el acceso a la red a través de HTTPS, WebSockets y " +"transmisiones multimedia.\n" +"\n" +"Solo utilice esto para los widgets que confíe." + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Desarrollo" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" +"El widget funciona con acceso web fácil de usar para desarrollo.\n" +"\n" +"• Se permiten conexiones a servidores de desarrollo locales (localhost).\n" +"• Se puede permitir el acceso HTTP y WebSocket para pruebas.\n" +"\n" +"Este modo está diseñado exclusivamente para desarrollo y depuración." + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Por defecto" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" +"El widget se ejecuta con una directiva de seguridad web predefinida.\n" +"\n" +"El acceso y las funciones web están restringidos según la directiva activa." + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "¿Conceder contenido web para {widgetld}?" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" +"El widget que está añadiendo puede cargar el contenido de la web desde red " +"interna.\n" +"\n" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" +"Este contenido es asunto para la normativa de seguridad del widget:\n" +"\n" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" +"Este widget, {widget} se ejecuta en proceso de segundo plano en su equipo.\n" +"\n" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" +"El backend se ejecuta con sus permisos de usuario usual, como si cualquiera " +"de las otras aplicaciones que arranque.\n" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" +"Puede acceder a sus archivos, recursos del sistema, y la red según a sus " +"permisos de cuenta de usuario.\n" +"\n" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Orden:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "Solamente concede esto para widgets de confianza implícita." + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "¿Conceder backend de widget?" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +msgid "Widget Preferences" +msgstr "Preferencias de widget" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" no está disponible" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Instala \"${programName}\" para que los iconos de escritorio puedan realizar " +"estas acciones." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Elegir Carpeta de Escritorio" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Comando no encontrado" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Elija una aplicación para abrir los archivos seleccionados." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Usar siempre para este tipo de archivo" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Cancelar" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Abrir" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Exhibir iconos en el escritorio GNOME" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"escritorio; " +"iconos;archivos;carpetas;gestor;arrange;ocultar;mostrar;lanzador;enlace;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Mostrar<>Ocultar" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Preferencias" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Inhabilitación" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Tamaño de los iconos" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Establece el tamaño de los iconos del escritorio." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Mostrar la carpeta personal" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Mostrar la carpeta personal en el escritorio." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Mostrar la papelera" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Mostrar la papelera en el escritorio." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Esquina inicial para iconos nuevos" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "" +"Establece la esquina a partir de la cual los nuevos iconos se irán añadiendo." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Muestra unidades externas en el escritorio" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Muestra las unidades de disco conectadas al equipo." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Muestra unidades de red en el escritorio" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Muestra en el escritorio las unidades de red montadas." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Añadir nuevas unidades en el lado opuesto de la pantalla" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Al añadir unidades y volúmenes al escritorio, añadirlos en el lado opuesto " +"de la pantalla." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Muestra un rectángulo en el punto de destino durante DnD" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Durante una operación de Arrastrar'y'Soltar, muestra en qué lugar se " +"depositará el icono." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Ordenar carpetas especiales - Home/Papelera/Unidades." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Al ordenar los iconos en el escritorio, cambiar la posición de Home, " +"papelera y unidades externas y de red" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Mantener los iconos ordenados" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Mantener los iconos ordenados según la última opción utilizada" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Ordenar pedido" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Iconos ordenados por esta propiedad" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Mantener los iconos apilados" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Mantener los iconos apilados, tipos similares se agruparán" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Tipos de ficheros que no se deben apilar" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Una matriz de los tipos de cadenas, No apile estos tipos de archivos" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Añadir un emblema a los enlaces" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Añadir un emblema para identificar los enlaces simbólicos." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Utilizar negro para el texto de las etiquetas" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Pintar el texto de las etiquetas en negro en lugar de blanco. Útil cuando se " +"utilizan fondos de color claro." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "" +"Mostrar primero nuevos íconos en el monitor secundario si está conectado" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Si hay un monitor secundario conectado, se añadirán los iconos nuevos en el " +"monitor no primario" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Los iconos se pueden colocar en cualquier lugar del Escritorio" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Los iconos no están en una cuadrícula rectangular pero se pueden colocar en " +"cualquier lugar independiente de la cuadrícula" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Miniaplicaciones de escritorio" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" +"Exhibir los Widget en una capa por debajo de los iconos si están instalados" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Ocultar/Mostrar todas las ventanas del escritorio" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Mostrar los iconos en el escritorio, o ocultarlos todos" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Atajos de aplicación del usuario" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" +"Anulación para atajos de aplicación predeterminados establecidos por el " +"Usuario" diff --git a/ding/po/et.po b/ding/po/et.po new file mode 100644 index 0000000..7e4f6ac --- /dev/null +++ b/ding/po/et.po @@ -0,0 +1,2073 @@ +# Estonian translations for gtk4-ding package. +# Copyright (C) 2025 THE gtk4-ding'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Automatically generated, 2025. +# +# Weblate , 2025, 2026. +# Weblate Translation Memory , 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-20 22:50+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Estonian \n" +"Language: et\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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Ülevõtt" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Otseteed" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Kiirklahvide muutmine..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Rakenduste kiirklahvide muutmine" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Otseteed Muudatakse ainult siis, kui laiendus on lubatud..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Abi tõlkimisel veebibrauseris" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Töölaua" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Failid" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Tweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Rohkem" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Töölaua seadistused" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Töölauaprogrammi seadistused" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Töölauakataloog" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Aktiivne töölaud:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Failide seadistused" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Gnome failidega ühiskasutuses olevad seadistused" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Mitmesugused Tweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Töölaua ikoonide suurus" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Tiny" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Väike" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Standard" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Suur" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Uus ikoonide joondamine" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Ülemine vasak nurk" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Ülemine parem nurk" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Alumine vasak nurk" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Alumine parem nurk" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" +"Uute ikoonide lisamine sekundaarsetele monitoridele, kui need on olemas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Klõpsake ikoonid alusvõrku" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Töölauavidinad" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Uus töölauakataloog" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Töölauale uue kataloogi määramine" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Vali" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Määra töölaud tagasi asukohta ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Vaikimisi töölauakataloogi taastamine" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Taastada" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Tõsta rippvõrk esile" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Linkide infoembleemide lisamine, krüptimine" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Tumeda teksti kasutamine ikooni pealdistes" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Isikliku kataloogi näitamine töölaual" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Töölaua prügikasti ikooni näitamine" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Väliste draivide näitamine töölaual" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Võrgudraivide näitamine töölaual" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Uute draivide lisamine töölaua vastasküljele" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Toiming elementide avamiseks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Ühekordne klõps" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Topeltklõps" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Pildi pisipiltide näitamine" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Alati" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Ainult selles arvutis" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Mitte kunagi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Näitab püsivalt kustutatavat kontekstimenüü elementi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Peidetud failide näitamine" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Kataloogide avamine lohistamisel" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Umbes..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Tõlkimine" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Masin tõlgitud LibreTranslate abil. Kasutaja kontrollis ja redigeeris veebis." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Muuda tõlkeid" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Tõlke kontrollimine, lisamine või parandamine oma veebibrauseris" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Tõlki" + +# MT: LibreTranslate +#: app/appChooser.js:78 +#, fuzzy +msgid "Choose an application to open {foo}" +msgstr "Valige rakendus, et avada {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Ava elemendid" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Ava kataloog" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Ava fail" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Viga vaikerakenduse muutmisel" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Vigased õigused rakendusefailis" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Sellel rakenduse failil on valed õigused." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Klõpsa parema nupuga omaduste redigeerimiseks:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Määra õigused, sisse" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Teiste juurdepääs" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Loe ainult" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "või" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Mitte ükski" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Valiku lubamine" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Faili käivitamise lubamine programmina" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Ebausaldusväärne rakendusefail" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Rakendus Pildifail ei ole usaldusväärne, seda ei saa käivitada." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Käivitamise võimaldamiseks klõpsa hiire parema nupuga:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "võimaldada" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Käivitamise lubamine" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Kataloogi nimi" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Faili nimi" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "OK" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Ümbernimeta" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Auto Ar ei ole paigaldatud" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Pakitud failidega töötamiseks installige failirull ja / või gir- 1,2-gnome " +"AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Failide eraldamine" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Failide tihendamine" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Tühistage" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Sisesta siia parool" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Osalise faili eemaldamine '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Sihtkataloogi loomine" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Failide väljavõtmine '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Kaevandamine lõpetatud" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "'${fullPathFile}' püüdis mõista ja mõtestada [[inimese]] eksistentsi." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Kaevandamine tühistatud" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "'${fullPathFile}' püüdis mõista ja mõtestada [[inimese]] eksistentsi." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "${filename} jaoks vajalik paroolifraas" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Viga ekstraheerimisel" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Failide tihendamine '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Tihendus lõpetatud" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Failide kokkusurumine '${outputFile}' on lõpetatud." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Tühistatud tihendus" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Väljundfail '${outputFile}' on juba olemas." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "Failide tihendamine '${outputFile}' on kasutaja poolt tühistatud." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Viga tihendamisel" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Arhiivi loomine" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Arhiivinimi" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Parool" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Loo" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Ühildub kõigi operatsioonisüsteemidega." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Parool kaitstud .zip, tuleb installida Windows ja Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Väiksemad arhiivid, kuid ainult Linux ja Mac." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Väiksemad arhiivid, kuid need tuleb installida Windowsi ja Maci." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Kuvatav töölaud on teistele kirjutatav" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskopi faile ei saa sellest töölauast käivitada, kuna töölaua kaust on " +"teistele kasutajatele kirjutatav.\n" +"\n" +"Palun kontrollige selle töölauakataloogi õigusi ja veenduge, et teised seda " +"ei kirjutaks." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Katkine töölauafail" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"See .dektop-fail sisaldab vigu või osutab programmile ilma loata. Seda ei " +"saa teostada.\n" +"\n" +"Muuda faili, et määrata õige käivitatav programm." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Töölauafaili vigased õigused" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Sellel töölauafailil on valed õigused." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Ebausaldusväärne töölauafail" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "See töölauafail ei ole usaldusväärne, seda ei saa käivitada." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Avamine nurjus Fail" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} Seda tüüpi faile ei saa avada!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Töölauakataloog Muudatus nurjus" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Uus töölaua kaust on sümboolne link" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Uut töölauakataloogi ei ole olemas või ei ole see kataloog!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Töölauakataloogi on muudetud" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Lülitumine uuele töölauale..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Töölaua ikoonid" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Töölaua uuendamine" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Lisa vidin" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Monitori kaadripuhver Skaleerimine pole lubatud" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Mitmed monitorid erinevate suumiseadetega, soovitame monitori kohta " +"kaadripuhvri skaleerimist.\n" +"\n" +"Palun luba Mutter Dconfi seadistused" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Mitmed monitorid erinevate suumiseadetega.\n" +"\n" +"Kaadripuhver skaleerimise lubamine Mutter Dconfi seadistustes?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Luba" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Töölaua näitamine nurjus" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Töölaua kaust {desktop} on sümboliline link\n" +"\n" +"Palun määra töölaua kaust tõeliseks kataloogiks" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Töölaua kausta {desktop} ei ole olemas või ei ole kataloog\n" +"\n" +"Kontrollige oma xdg- utilide paigaldust ja määrake õige töölaua kaust" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME Faile ei leitud" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "GNOME Failide rakendust nõuab Gtk4 Desktop Icons NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Vaikimisi failihaldur puudub" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Puudub rakendus, mis käsitleks MIME tüüpi \"inode/directory\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome failid ei ole failihaldurina registreeritud" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Rakendus Gnome Failid ei ole programmeeritud kataloogide avamiseks!\n" +"Kontrolli oma xdg- utilide paigaldust\n" +"Kontrolli Gnome faile. desktop Faili paigaldus" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Puhasta aktiivne valik enne uut otsingut" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Failide otsimine töölaualt" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Uus kaust" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Kataloogi loomine nurjus" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Kataloogi loomine nurjus" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Töölaua avamine Gnome' i failides nurjus" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Eelistuste aken on avatud" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "See aken on avatud. Palun lülita aktiivne aken sisse." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Seadistused" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Malli loomise viga" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Dokumendi loomine nurjus" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Nimi" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Nimi Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Muudetud aeg" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Tüüp" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Suurus" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Korralda end.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Püsi tüübi järgi laotud.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Sorteeri kodu/ sõidud/Trash.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Töölaua muutmine" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Vaikimisi töölaua taastamine" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Töölaua ikooni seadistused" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Näita kiirklahvi" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Uus dokument" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Aseta" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Võta tagasi" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Redo" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Vali kõik" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Korralda ikoonid" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Korraldage.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Töölaua näitamine {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Ava {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Muuda vidinaid" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell Menu.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "SymLinki tegemine nurjus" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Sümboolse lingi loomine nurjus" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Kopeerimine/ liigutamine nurjus" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} Ei ole olemas" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Failide toimingu valimine" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Liikuge" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Kopeeri" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Link" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Kaust" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Fail" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Faili avamine nurjus" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "out \"{fo}\"" + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Uus kataloog{0}-ga eseme" +msgstr[1] "Uus kataloog{0}-ga eseme" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Ava kõik..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Start" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Avage {foo}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Avage" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Väljavõte siit" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Väljavõte..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Avage..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Ava kõik muu rakendusega..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Käivitage integreeritud graafikakaardi abil" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Stack See tüüp" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Eemalda see tüüp" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Käivitamine programmina" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Skripte" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Stopp" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Liigume..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Kopeeri..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Nimeta ümber" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Loo link..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Kataloogi tihendamine {0}" +msgstr[1] "Kataloogi tihendamine {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Faili tihendamine{0}" +msgstr[1] "Faili tihendamine{0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "E-mail..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Saada mobiiliseadmesse" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Liigu prügikasti" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Kustuta jäädavalt" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Käivitamist ei lubata" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Tühi prügikast" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Katkesta" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Eemalda" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Ühised omadused" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Omadused" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Näita kõike {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Näita {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Avage {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Ava element" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Kaevandamine tühistatud" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Lahtipakkimine nurjus Fail, sihtkataloog puudub" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Sihtkoha valimine" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Vali" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Kataloogi e- posti saatmine nurjus" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Valik sisaldab kataloogi, tihendatakse kõigepealt .zip-faili?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Kirjaviga" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "ZIP- käsu leidmine nurjus, palun paigalda programm" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "ZIP-arhiivi loomisel tekkis viga" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Xdg- e- posti ei leitud, palun paigalda programm" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Failide saatmisel tekkis viga" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Töökataloogi avamine nurjus" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Gnome' i konsoolis avamine nurjus" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Palun paigalda Gnome Console või muu terminaliprogramm" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Avamine nurjus{0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Palun paigaldage {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Kopeeri tühistatud" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Failide kopeerimine nurjus, sihtkataloog puudub" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Liikumine Tühistatud" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Failide liigutamine nurjus, sihtkataloog puudub" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ ei saa seda tüüpi faile avada!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Console" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Vaikimisi kiirklahv:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Tüüp uus..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Muutja + võti (nt Ctrl +) Alt + D" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Lähtesta vaikimisi" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Kiirendit pole" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Süsteemi kiirklahvid" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Üldised süsteemsed kiirklahvid" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Kohalikud kiirklahvid" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Rakenduste kiirklahvid" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Globaalsed kiirklahvid" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Süsteemi kiirklahvid" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Kiirklahvid" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Kiirklahvide lähtestamine" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Kõigi kiirklahvide lähtestamine vaikeklahvideks" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Lähtesta kõik..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Töölaua näitamine failides" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Ava terminalis" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Muuda tausta" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Muuda kuvaseadistusi" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Töölaua ikooni seadistuste muutmine" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Ikoonide puhastamine" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Korraldage" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Hoia virnas" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Sorteeri erikataloogid" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Ikoonide paigutus nime järgi" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Ikoonide järjestamine alaneva nime järgi" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Ikoonide järjestamine muudetud aja järgi" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Korralda ikoonid Kindlalt" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Ikoonide paigutus suuruse järgi" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Otsi faile" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Töölaua uuendamine" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Näita peidetud faile" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Vali kõik välja" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Eelvaade" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Lisa vidin" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Vali vasakult ikoon" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Vali ikoon paremale" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Vali ikoon üles" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Ikooni valimine alla" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Menüü näitamine" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Shelli taustamenüü näitamine" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Töölaua kiirklahvi loomine" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Tekstikirje kiirendab sisselülitamist" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Tekstikirje kiirendus lülita välja" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Kiirklahvi näitamine Vaataja" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Töölaua ikoonide näitamine või peitmine" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Rohkem infot" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Kodu" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Prügi" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Stack" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Katkine link" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Faili avamine nurjus, sest tegemist on katkise sümboliga" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Sõida" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Eelistused" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Kasutaja määratud" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Luba" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Range" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Hõre" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Arendamine" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Vaikimisi" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Käsk:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Eelistused" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" ei ole kättesaadav" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Installige \"${programName}\", et võimaldada töölaua ikoonidel neid " +"toiminguid teha." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Töölauakataloogi valimine" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Käsku ei leitud" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Valige valitud failide avamiseks rakendus." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Seda tüüpi faili kasutatakse alati" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "Tühistage" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Ava" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Ikoonide näitamine GNOME töölaual" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"töölaud; ikoonid; failid; kataloogid; haldaja; korralda; peita; " +"näidata;launcher; lühilõiked;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Näita <> Peida" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Eelistused" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Keela" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Kooni suurus" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Määrab töölaua ikoonide suuruse." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Isikliku kataloogi näitamine" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Personaalse kataloogi näitamine töölaual." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Prügikasti ikooni näitamine" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Näitab töölaual prügikasti ikooni." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Uued ikoonid alustavad nurka" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Määrab nurga, kuhu ikoonid paigutatakse." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Väliste draivide näitamine töölaual" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Arvutiga ühendatud kettaseadmete näitamine." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Võrgudraivide näitamine töölaual" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Ühendatud võrgumahtude näitamine töölaual." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Uute draivide lisamine ekraani vastasküljele" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Kui lisate draive ja helitugevusi töölauale, lisage need ekraani " +"vastasküljele." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Näitab DnD ajal sihtkohas ristkülikut" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Toimingut Drag'n'Drop tehes märgitakse koht alusvõrgus, kuhu ikoon pannakse " +"poolläbipaistva ristkülikuga." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Sorteeri spetsiaalsed kataloogid - Home / Track Drives." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Ikoonide paigutamisel töölauale sorteerida ja muuta kodu, prügikasti ja " +"ühendatud võrgu või väliste draivide asukohta" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Ikoonide korrastamine" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Ikoonid jäävad alati alles Korraldatud viimase korraldusega" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Korralda käsk" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Selle omaduse korraldatud ikoonid" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Ikoonid hoitakse pingul" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Alati hoia ikoonid virnas, sarnased tüübid on grupeeritud" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Failide tüüp, mida ei koguta" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Stringi tüüpide massiiv, ärge koguge seda tüüpi faile" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Lisa linkidele embleem" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Lisage embleem pehmete linkide tuvastamiseks." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Musta kasutamine silditekstis" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Värvi sildi tekst valge asemel mustaks. Kasulik valgusfooni kasutamisel." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Uute ikoonide näitamine mitteprimaarmonitoril, kui see on ühendatud" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Kui ühendatud on teine monitor, paigutatakse mitteprimaarmonitorile uued " +"ikoonid" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ikoone saab paigutada töölaual ükskõik kuhu" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ikoonid ei ole ristkülikukujulises võrgus, kuid neid saab postitada kõikjal, " +"mis on võrgust sõltumatu" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Töölauavidinad" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Kõigi töölauaakende peitmine/ näitamine" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Ikoonide näitamine töölaual või nende peitmine" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Kasutajarakenduste kiirklahvid" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Kasutaja määratud vaikimisi rakenduse kiirklahvide tühistamine" diff --git a/ding/po/eu.po b/ding/po/eu.po new file mode 100644 index 0000000..ef34d45 --- /dev/null +++ b/ding/po/eu.po @@ -0,0 +1,2074 @@ +# Basque translations for gtk4-ding package. +# Copyright (C) 2025 THE gtk4-ding'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Automatically generated, 2025. +# +# Weblate , 2025, 2026. +# Weblate Translation Memory , 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-20 21:36+0000\n" +"Last-Translator: Weblate \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" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Gainidatzi" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Lasterbideak" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Editatu lasterbideak..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Editatu aplikazioen laster-teklak" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Lasterbideak Editagarria luzapena gaituta dagoenean bakarrik..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Laguntza itzuli zure web arakatzailean" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Mahaigaina" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Fitxategiak" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Tweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Gehiago" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Mahaigainaren ezarpenak" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Mahaigainaren programaren ezarpenak" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Mahaigainaren karpeta" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Uneko mahaigaina:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Fitxategien ezarpenak" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Gnome fitxategiekin partekatutako ezarpenak" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Hainbat Tweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Mahaigaineko ikonoen tamaina" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Tiny" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Txikia" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Estandarra" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Handia" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Ikonoen lerrokatze berria" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Goiko ezkerreko izkina" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Goiko eskuineko izkinan" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Beheko ezkerreko izkina" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Beheko eskuineko izkina" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Gehitu ikono berriak bigarren mailako monitoreei, erabilgarri badago" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Atxiki ikonoak sarera" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "Erakutsi mahaigaina fitxategietan" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Mahaigainaren karpeta berria" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Ezarri karpeta berria mahaigainerako" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Aukeratu" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Ezarri mahaigaina ~-ra" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Leheneratu mahaigaineko karpeta lehenetsia" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Leheneratu" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Nabarmendu sareta" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Gehitu informazioaren ikurrak esteketarako, enkriptatzeko" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Erabili testu iluna ikonoen etiketetan" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Erakutsi karpeta pertsonala mahaigainean" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Erakutsi zakarrontziaren ikonoa mahaigainean" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Erakutsi kanpoko unitateak mahaigainean" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Erakutsi sareko unitateak mahaigainean" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Gehitu unitate berriak mahaigainaren beste aldean" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Elementuak irekitzeko ekintzak" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Klik bakarra" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Klik bikoitza" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Erakutsi irudiaren koadro txikiak" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Beti" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Ordenagailu honetan bakarrik" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Inoiz ez" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Erakutsi testuinguruko menu-elementua betirako ezabatzeko" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Erakutsi ezkutuko fitxategiak" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Ireki karpetak arrastatzerakoan" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Honi buruz..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Itzulpena" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Itzulpen automatikoa LibreTranslate erabiliz. Weblate-n egiaztatua eta " +"editatua." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Editatu itzulpenak" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Egiaztatu, gehitu edo zuzendu itzulpena web arakatzailean" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Itzuli" + +# MT: LibreTranslate +#: app/appChooser.js:78 +#, fuzzy +msgid "Choose an application to open {foo}" +msgstr "out {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Ireki elementuak" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Ireki karpeta" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Ireki fitxategia" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Errorea aplikazio lehenetsia aldatzean" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Baimen baliogabeak AppImage fitxategian" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Aplikazio-fitxategi honek baimen okerrak ditu." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Egin klik eskuineko botoiaz propietateak editatzeko" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Ezarri baimenak, sartu" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Beste batzuek sarbidetza" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Irakurri soilik" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "edo" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Bat ere ez" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Gaitu aukera" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Baimendu fitxategia programa gisa exekutatzea" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Fitxategi ez-fidagarria" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Aplikazio hau Irudi-fitxategia ez da fidagarria, ezin da abiarazi." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Abiarazi ahal izateko, egin klik eskuineko botoiaz:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "gaitu" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Baimendu abiaraztea" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Karpetaren izena" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Fitxategi-izena" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "ADOS" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Berrizendatu" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Auto Ar ez dago instalatuta" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Konprimatutako fitxategiekin lan egin ahal izateko, instalatu fitxategi-" +"roller eta/edo gir-1.2-gnome AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Fitxategiak erauzten" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Fitxategiak konpresatzen" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Utzi" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Sartu pasahitza hemen" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Fitxategi partziala kentzen '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Helburuko karpeta sortzen" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Fitxategiak erauzten '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Erauzketa burututa" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "out '${fullPathFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Erauzketa bertan behera utzi da" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Erabiltzaileak ezabatu egin du '${fullPathFile}' erauztea." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Pasaesaldia behar da ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Errorea erauzketan" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Fitxategiak konpresatzen ditu '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Konpresioa burututa" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Konpresioa bertan behera utzita" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Errorea konpresioan" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Sortu artxiboa" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Artxibo-izena" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Pasahitza" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Sortu" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Sistema eragile guztiekin bateragarria." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Pasahitzez babestutako .zip, Windows eta Mac-en instalatu behar da." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Artxibo txikiagoak, Linux eta Mac izan ezik." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Artxibo txikiagoak, baina Windows eta Mac-en instalatu behar dira." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Bistaratutako mahaigaina besteek idatz dezakete" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop fitxategiak ezin dira mahaigainetik abiarazi, mahaigaineko karpeta " +"beste erabiltzaileek idatz dezaketelako.\n" +"\n" +"Egiaztatu mahaigaineko karpeta honen baimenak eta ziurtatu besteek ezin " +"dutela idatzi." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Hautsitako mahaigaineko fitxategia" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"'.desktop' fitxategi honek baimenak ez dituen programa baten erroreak edo " +"puntuak ditu. Ezin da exekutatu.\n" +"\n" +"Editatu fitxategia programa exekutagarri zuzena ezartzeko." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Baimen baliogabeak mahaigaineko fitxategian" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Mahaigaineko fitxategi honek baimen okerrak ditu." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Mahaigaineko fitxategi ez-fidagarria" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Mahaigaineko fitxategi hau ez da fidagarria, ezin da abiarazi." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Ezin izan da ireki Fitxategia" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "out {appName}" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Mahaigainaren karpeta Aldaketak huts egin du" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Mahaigainaren karpeta berria esteka sinbolikoa da" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Mahaigainaren karpeta berria ez da existitzen edo ez da karpeta bat!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Mahaigainaren karpeta aldatuta" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Mahaigain berrira aldatzen..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Mahaigaineko ikonoak" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Eguneratu mahaigaina" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Gehitu trepeta" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Monitorizatu marko-bufferra Eskalatzea ez dago gaituta" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Zoom ezarpen desberdinak dituzten monitore anitzek gomendatzen dute pantaila-" +"markoa eskalatzeko.\n" +"\n" +"Gaitu Mutter Dconf-en ezarpenak" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Monitore anitz zoom ezarpen desberdinekin.\n" +"\n" +"Gaitu pantailako marko-buffer eskalatzaile bakoitzeko Mutter Dconf " +"ezarpenetan?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Gaitu" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Ezin da mahaigaina erakutsi" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "out {desktop}" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "out {desktop}" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME Ez da fitxategirik aurkitu" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "GNOME Fitxategi-aplikazioa behar du Gtk4 Desktop Icons NGk." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Ez dago fitxategi-kudeatzaile lehenetsirik" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Ez dago \"inode/directory\" MIME mota kudeatzen duen aplikaziorik" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome fitxategiak ez dira fitxategi-kudeatzaile gisa erregistratu" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Gnome fitxategien aplikazioa ez dago programatua karpetak irekitzeko!\n" +"Egiaztatu xdg-utils instalazioa\n" +"Begiratu Gnome fitxategiak.desktop Fitxategi-instalazioa" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Garbitu uneko hautapena bilaketa berriaren aurretik" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Bilatu fitxategiak mahaigainean" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Karpeta berria" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Huts egin du karpeta sortzean" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Ezin izan da karpeta sortu" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Ezin da mahaigaina ireki Gnome fitxategietan" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Hobespenen leihoa irekita dago" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Leiho hau irekita dago. Aldatu leiho aktibora." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Ezarpenak" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Txantiloiak sortzeko errorea" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Ezin izan da dokumentua sortu" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Izena" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Z-A izena" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Aldatutako denbora" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Mota" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Tamaina" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Antolatuta.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Segi pilatzen motaren arabera.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Ordenatu Home/Drives/Trash.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Aldatu mahaigaina" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Leheneratu mahaigaina" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Mahaigainaren ikonoaren ezarpenak" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Erakutsi laster-teklak" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Dokumentu berria" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Itsatsi" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Desegin" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Redo" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Hautatu dena" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Antolatu ikonoak" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Antolatu.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Erakutsi mahaigaina {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Ireki {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Editatu widgetak" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell-aren menua.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "SymLink-ek huts egin du" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Ezin izan da esteka sinbolikoa sortu" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Huts egin du kopiatzean" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} Ez da existitzen" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Aukeratu Ekintza Fitxategientzat" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Mugitu" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Kopiatu" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Esteka" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Karpeta" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Fitxategia" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Fitxategia irekitzeak huts egin du" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "out \"{fo}\"" + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Karpeta berria {0} Elementua" +msgstr[1] "Karpeta berria {0} Elementua" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Ireki denak..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Abiarazi" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Ireki {foo}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Ireki" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Erauzi hemen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Erauzi hona..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Ireki honekin..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Ireki beste aplikazio batekin..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Abiarazi txartel grafiko integratuak erabiliz" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Pilatu mota hau" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Kendu mota hau" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Exekutatu programa gisa" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Script-ak" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Ebaki" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Eraman hona..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Kopiatu hona..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Aldatu izena.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Sortu esteka..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "out {0}" +msgstr[1] "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "out {0}" +msgstr[1] "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Bidali mezua..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Bidali gailu mugikorrera" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Bota zakarrontzira" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Ezabatu behin betiko" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Ez utzi abiarazteari" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Hustu zakarrontzia" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Egotzi" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Desmuntatu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Propietate komunak" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Propietateak" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Erakutsi dena {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Erakutsi {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Ireki {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Ireki elementua" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Erauzketa bertan behera utzita" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Ezin da erauzi Fitxategia, helburuko karpetarik ez" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Hautatu helburua" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Hautatu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Ezin da direktorioa bidali" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "" +"Hautapenak direktorio bat dauka, .zip fitxategi bati konprimatzen dio " +"lehenik?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Posta-errorea" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Ezin da zip komandoa aurkitu, instalatu programa" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Errorea gertatu da zip artxiboa sortzean" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Ezin da xdg-email aurkitu, instalatu programa" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Errorea gertatu da fitxategiak bidaltzean" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Ezin da laneko direktorioa ireki" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Ezin da Gnome kontsolan ireki" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Instalatu Gnome kontsola edo beste terminal programa bat" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Instalatu {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Kopia bertan behera utzita" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Ezin dira fitxategiak kopiatu, helburuko karpetarik ez" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Mugitu bertan behera" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Ezin dira fitxategiak lekuz aldatu, helburuko karpetarik ez" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$-ek ezin ditu mota honetako fitxategiak ireki!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Kontsola" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Lasterbide lehenetsia:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Idatzi berria..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Aldatzailea + Gakoa (adib. Ktrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Leheneratu lehenetsira" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Bizkortzailerik ez" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Laster-teklak" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Sistema komunak definitutako laster-teklak" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Laster-teklak" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Aplikazioaren laster-teklak" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Laster-tekla orokorrak" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Sistemako laster-teklak" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Laster-teklak" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Berrezarri laster-teklak" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Berrezarri lasterbide guztiak lehenetsietara" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Berrezarri dena..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Erakutsi mahaigaina fitxategietan" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Ireki terminalean" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Aldatu atzeko planoa" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Aldatu pantailaren ezarpenak" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Aldatu mahaigaineko ikonoen ezarpenak" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Garbitu ikonoak" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Antolatuta" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Mantendu pilatuta" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Ordenatu karpeta bereziak" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Antolatu ikonoak izenaren arabera" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Antolatu ikonoak izenaren arabera" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Antolatu ikonoak aldatutako denboraren arabera" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Antolatu ikonoak Generoaren arabera" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Antolatu ikonoak tamainaren arabera" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Bilatu fitxategiak" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Eguneratu mahaigaina" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Erakutsi ezkutuko fitxategiak" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Desautatu denak" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Aurrebista" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Gehitu trepeta" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Aukeratu ikonoa ezkerrera" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Aukeratu ikono zuzena" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Aukeratu ikonoa gora" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Aukeratu ikonoa behera" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Erakutsi menua" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Bistaratu Shell-en atzeko planoaren menua" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Sortu mahaigaineko lasterbidea" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Testu-sarreraren Accels Turn On" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Testu-sarreraren azelerazioak desaktibatuta" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Erakutsi lasterbidea Ikustailea" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Erakutsi edo ezkutatu mahaigaineko ikonoak" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Informazio gehiago" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Etxea" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Zakarrontzia" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Pila" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Esteka hautsia" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Ezin da fitxategia ireki esteka hautsia delako" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Unitatea" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Hobespenak" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Erabiltzailea" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Baimendu" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Zortza" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Erlaxatua" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Garapena" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Lehenetsia" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Agindua:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Hobespenak" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" ez dago erabilgarri" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Instalatu \"${programName}\" mahaigaineko ikonoak ekintza hauek burutzeko." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Aukeratu mahaigaineko karpeta" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Ez da komandoa aurkitu" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Aukeratu aplikazio bat hautatutako fitxategiak irekitzeko." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Erabili beti fitxategi mota honetan" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Utzi" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Ireki" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Bistaratu ikonoak GNOME mahaigainean" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"mahaigaina;ikonoak;karpetak; " +"kudeatzailea;arrange;hide;show;launcher;shortcuts;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Erakutsi<>Ezkutatu" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Hobespenak" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Desgaitu" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Ikonoaren tamaina" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Ezarri mahaigainaren ikonoen tamaina." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Erakutsi karpeta pertsonala" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Erakutsi karpeta pertsonala mahaigainean." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Erakutsi zakarrontziaren ikonoa" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Erakutsi zakarrontziaren ikonoa mahaigainean." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Ikono berriak hasten dira izkinan" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Ikonoak non kokatuko diren ezartzen du." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Erakutsi kanpoko unitateak mahaigainean" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Erakutsi disko-unitateak ordenagailura konektatuta." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Erakutsi sareko unitateak mahaigainean" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Erakutsi muntatutako sareko bolumenak mahaigainean." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Gehitu unitate berriak pantailaren beste aldera" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Diskoak eta bolumenak mahaigainera gehitzean, pantailaren beste aldean " +"gehitu." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "DnDn zehar helmugako lekuan laukizuzen bat erakusten du" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Drag'n'Drop eragiketa bat egitean, sareta markatzen du, non ikonoa " +"laukizuzen erdi garden batekin jarriko den." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Ordenatu karpeta bereziak - Home/Trash Drives." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Mahaigainean ikonoak antolatzean, etxeko posizioa, zakarrontzia eta " +"muntatutako sarea edo kanpoko unitateak ordenatzeko eta aldatzeko" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Mantendu ikonoak antolatuta" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Mantendu beti ikonoak Azken ordenak antolatuta" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Antolatu ordena" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Propietate honek antolatutako ikonoak" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Mantendu ikonoak pilatuta" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Mantendu beti ikonoak pilatuta, antzeko motak elkartuta" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Fitxategi motak ez pilatzeko" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Kate-mota sorta bat, ez pilatu fitxategi mota hauek" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Gehitu ikur bat estekei" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Gehitu ikur bat esteka bigunak identifikatzeko." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Erabili beltza etiketaren testuan" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Margotu etiketa-testua beltzean zuriaren ordez. Erabilgarria atzeko plano " +"argiak erabiltzean." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "" +"Erakutsi ikono berriak lehen mailakoa ez den monitorean konektatuta egonez " +"gero" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Bigarren monitore bat konektatzen bada, ikono berriak lehen mailako " +"monitorean jartzen dira" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ikonoak edonon jar daitezke mahaigainean" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ikonoak ez daude sareta laukizuzenean, baizik eta saretatik independente " +"dagoen edozein lekutan jar daitezke" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +#, fuzzy +msgid "Show Desktop Widgets" +msgstr "Erakutsi mahaigaina fitxategietan" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Ezkutatu/Erakutsi mahaigaineko leiho guztiak" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Erakutsi mahaigaineko ikonoak, edo ezkutatu denak" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Erabiltzailearen laster-teklak" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Jaramonik ez egin erabiltzaileak ezarritako lasterbide lehenetsiei" diff --git a/ding/po/fa.po b/ding/po/fa.po new file mode 100644 index 0000000..c9cc503 --- /dev/null +++ b/ding/po/fa.po @@ -0,0 +1,2068 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Amir Mohammad Biuki , 2024. +# Weblate , 2024, 2025, 2026. +# Weblate Translation Memory , 2024, 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:10+0000\n" +"Last-Translator: Weblate \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" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "پایمالی" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "میانبرها" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "دانلود بازی Edit Shortcuts." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "دانلود بازی Edit Application Shortcuts" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "میانبرها قابل ویرایش تنها زمانی که افزونه فعال ..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "کمک به ترجمه در مرورگر وب شما" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "فایل" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "ضعف ها" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "بیشتر" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "تنظیمات Desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "تنظیمات برای برنامه دسکتاپ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Desktop Folder" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Current Desktop:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "تنظیمات فایل ها" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "تنظیمات مشترک با فایل های Gnome" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "متنوع ضعف ها" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "اندازه برای آیکون های دسکتاپ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "کوچک" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "کوچک" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "استاندارد" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "بزرگ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "آیکون های جدید" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "بالا سمت چپ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "سمت راست بالا" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "سمت چپ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "سمت راست" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "اضافه کردن آیکون های جدید به مانیتورهای ثانویه اول، در صورت امکان" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Snap آیکون ها به شبکه" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "نمایش Desktop در Files" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "جدید Desktop Folder" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "یک پوشه جدید برای دسکتاپ تنظیم کنید" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "انتخاب" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "گزینه Desktop back to ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "بازگشت خطای Desktop Folder" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "بازگشت" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "بالا بردن شبکه قطره" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "اضافه کردن نماد اطلاعات برای لینک ها، رمزگذاری" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "استفاده از متن تاریک در برچسب های آیکون" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "نشان دادن پوشه شخصی در دسکتاپ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "نشان دادن آیکون زباله در دسکتاپ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "نشان دادن درایوهای خارجی بر روی دسکتاپ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "نشان دادن درایو شبکه در دسکتاپ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "اضافه کردن درایو های جدید به سمت مخالف دسکتاپ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "اقدام برای باز کردن آیتم ها" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "تک تک کلیک" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "DoubleClick" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "نشان دادن عکس های کوچک" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "همیشه" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "در این کامپیوتر فقط" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "هرگز" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "نشان دادن یک آیتم منوی زمینه برای حذف دائمی" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "نمایش فایل های پنهان" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "باز کردن پوشه ها در Push" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "درباره ..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "ترجمه" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"ماشین ترجمه شده با استفاده از LibreTranslate کاربر تایید و ویرایش در Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "ترجمه های ادی" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "بررسی، اضافه کردن یا ترجمه صحیح در مرورگر وب خود" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "ترجمه" + +# MT: LibreTranslate +#: app/appChooser.js:78 +#, fuzzy +msgid "Choose an application to open {foo}" +msgstr "out {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "آیتم های باز" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Open Folder" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Open File" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "خطای تغییر برنامه پیش فرض" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "مجوزهای Invalid در فایل AppImage" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "این فایل AppImage مجوزهای نادرستی دارد." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "گزینه ی مناسب برای ویرایش Properties، سپس:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "اجازه ها را در" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "دسترسی دیگران" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "فقط بخوانید" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "یا" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "هیچ" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "گزینه Enable" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "اجازه دهید فایل را به عنوان یک برنامه حذف کنید" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Untrusted AppImage File" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "این برنامه فایل تصویر قابل اعتماد نیست، نمی تواند راه اندازی شود." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "برای فعال کردن راه اندازی، راست کلیک، سپس:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "فعال کردن" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "امکان پرتاب" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "نام Folder" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "نام فایل" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "OK" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Rename" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Auto آر نصب نشده است" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"برای قادر به کار با فایل های فشرده، نصب فایل-roller و / یا gir-1.2-gnome " +"AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "استخراج فایل ها" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "فشرده سازی فایل ها" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "لغو" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "وارد یک رمز عبور در اینجا" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "حذف فایل های جزئی '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "ایجاد پوشه مقصد" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "استفاده از فایل ها '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "استخراج تکمیل شده" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "out '${fullPathFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "استخراج مجدد" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "out '${fullPathFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "پس از آن لازم است که ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "خطا در هنگام استخراج" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "استفاده از فایل ها '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "فشرده سازی تکمیل شده" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "فایل های فشرده شده در '${outputFile}' تکمیل شده است." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "لغو فشرده سازی" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "فایل خروجی '${outputFile}' در حال حاضر وجود دارد." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "فایل های فشرده شده در '${outputFile}' توسط کاربر لغو شده است." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "خطا در هنگام فشرده سازی" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "ایجاد آرشیو" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "نام Archive" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Password" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "ایجاد آفرینش" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "سازگار با تمام سیستم های عامل." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Password Protection.zip باید روی ویندوز و مک نصب شود." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "آرشیو های کوچکتر اما لینوکس و مک." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "آرشیو های کوچکتر اما باید بر روی ویندوز و مک نصب شوند." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "دسکتاپ نمایش داده شده توسط دیگران قابل توجه است" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"فایل های .deskop را نمی توان از این دسکتاپ راه اندازی کرد زیرا Desktop " +"Folder توسط کاربران دیگر قابل استفاده است.\n" +"\n" +"لطفا اجازه های این Desktop Folder را بررسی کنید و مطمئن شوید که توسط دیگران " +"قابل توجه نیست." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "فایل دسکتاپ شکسته" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"این فایل .desktop دارای خطا یا امتیاز به یک برنامه بدون مجوز است. نمی تواند " +"اعدام شود.\n" +"\n" +"فایل را ویرایش کنید تا برنامه اجرایی صحیح را تنظیم کنید." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "مجوزهای Invalid در Desktop File" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "این فایل دسکتاپ مجوزهای نادرستی دارد." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Untrusted Desktop File" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "این فایل دسکتاپ قابل اعتماد نیست، نمی تواند راه اندازی شود." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "نمی تواند باز شود File File" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} نمی تواند فایل های این نوع را باز کند!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Desktop Folder تغییر شکست خورده" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Desktop Folder جدید یک لینک نمادین است" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Desktop Folder جدید وجود ندارد و یا یک پوشه نیست!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Desktop Folder تغییر کرد" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "تغییر به دسکتاپ جدید ..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Desktop Icons" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "به روز رسانی Desktop" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "افزودن ویجت" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "مانیتور Frame Buffer مقیاس پذیری فعال نمی شود" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"مانیتورهای متعدد با تنظیمات زوم مختلف، توصیه به هر اندازه اندازه گیری " +"فریمبوفر مانیتور.\n" +"\n" +"لطفا در تنظیمات Mutter Dconf فعال شوید" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"چندین مانیتور با تنظیمات زوم مختلف\n" +"\n" +"فعال سازی در تنظیمات Mutter Dconf?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "گزینه Enable" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "نمی تواند دسکتاپ را نشان دهد" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"صفحه اصلی {desktop}\n" +"\n" +"لطفاً Desktop Folder را به یک پوشه واقعی تنظیم کنید" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "out {desktop}" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME فایل هایی که پیدا نشده اند" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "GNOME درخواست فایل ها توسط Gtk4 Desktop Icons NG مورد نیاز است." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "هیچ مدیر فایل پیش فرض وجود ندارد" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "هیچ برنامه ای وجود ندارد که mimetype “inode/directory” را مدیریت کند" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "فایل های Gnome به عنوان یک File Manager ثبت نشده اند" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"اپلیکیشن فایل های Gnome برای باز کردن پوشه ها برنامه ریزی نشده است!\n" +"نصب xdg-utils را بررسی کنید\n" +"فایل های Gnome را بررسی کنید.desktop فایل نصب" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "انتخاب فعلی شفاف قبل از جستجوی جدید" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "پیدا کردن فایل در دسکتاپ" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "جدید Folder" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "دانلود زیرنویس فارسی فیلم The شکست خورد" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "نمی تواند پوشه ایجاد کند" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "امکان باز کردن دسکتاپ در فایل های Gnome" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "پنجره تنظیمات باز است" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "این پنجره باز است. لطفا به پنجره فعال تغییر دهید." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "تنظیمات" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "خطای ایجاد الگو" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "نمی تواند سند ایجاد کند" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "نام" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "نام Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "زمان اصلاح شده" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "نوع" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "اندازه" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "ادامه دهید .." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "نگه دارید توسط نوع .." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Home / Drives / Trash را .." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "تغییر Desktop" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "بازگشت خطای Desktop" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "تنظیمات Desktop Icon Settings" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "نشان دادن میانبر" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "New Document" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "پاستور" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Undo" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Redo" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "انتخاب همه" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Icons" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "با .." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "نمایش دسکتاپ در {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "باز در {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "ویرایش ویجت" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell menu" + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "بازی SymLink شکست خورد" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "نمی تواند لینک نمادین ایجاد کند" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "کپی/Move شکست خورد" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} وجود ندارد" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "گزینه Action for Files" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "حرکت" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "کپی رایت" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "لینک Link" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Folder" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "File" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "باز کردن فایل شکست خورده" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "out \"{fo}\"" + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "با استفاده از {0} آیتم" +msgstr[1] "با استفاده از {0} آیتم" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "باز همه ..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "راه اندازی" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "باز هم با {foo}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Open" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "اینجا" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "استخراج برای ..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "باز با ..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "باز کردن همه با درخواست های دیگر ..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "راه اندازی با استفاده از کارت گرافیک یکپارچه" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "این نوع" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "معرفی این نوع" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "دویدن به عنوان یک برنامه" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Scripts" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Cut" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "حرکت به ..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "کپی برداری برای ..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "نام .." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "ایجاد لینک ..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "out {0}" +msgstr[1] "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "فایل فشرده {0}" +msgstr[1] "فایل فشرده {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "ایمیل برای ..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "ارسال به Mobile Device" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "حرکت به Trash" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "حذف دائمی" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "اجازه راه اندازی را ندهید" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "خالی ترشو" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Eject" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Unmount" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "املاک مشترک" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "املاک" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "نمایش همه چیز در {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "نمایش در {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "باز می شود {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "متن باز" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "استخراج" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "غیر قابل انکار برای استخراج فایل، هیچ پوشه مقصد" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "انتخاب مقصد" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "گزینه Select" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "نمی تواند یک دایرکتوری را ارسال کند" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "انتخاب شامل یک دایرکتوری، فشرده به یک فایل .zip اول است؟?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "خطای ایمیل" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "برای پیدا کردن دستور پستی، لطفا برنامه را نصب کنید" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "خطایی در ایجاد یک آرشیو پستی وجود داشت" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "برای پیدا کردن xdg-mail، لطفا برنامه را نصب کنید" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "خطایی در فایل های ایمیل وجود داشت" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "نمی تواند دایرکتوری کاری را باز کند" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "امکان باز شدن در کنسول Gnome" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "کنسول Gnome یا دیگر برنامه ترمینال نصب کنید" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "نصب {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "لغو کپی" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "غیر قابل کپی کردن فایل ها، هیچ پوشه مقصد" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "لغو شد" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "غیر قابل اجرا برای انتقال فایل ها، هیچ پوشه مقصد" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ نمی تواند فایل های این نوع را باز کند!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "کنسول Console" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "شکست کوتاه:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "نوع جدید ..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "مودفیر + کلید (به عنوان مثال Ctrl + Alt + D" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "تنظیم مجدد برای شکست" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "هیچ شتاب دهنده ای" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "سیستم میانبر" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "سیستم مشترک تعریف شده صفحه کلید میانبر" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "میانبرهای محلی" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "صفحه کلید میانبر" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "میانبرهای جهانی" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "سیستم صفحه کلید میانبر" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "صفحه کلید میانبر" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Redirect Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "تنظیم همه میانبرها به شکست" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "تنظیم همه ..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "نمایش Desktop در Files" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "باز در ترمینال" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "تغییر پس زمینه" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Change Display Settings" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "تنظیمات Desktop Icon Settings" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "تمیز کردن Icons" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Keepd" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Keeped" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "دسته بندی ویژه" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Icons با نام" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "نام بازی Icons By Descending Name" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Icons by Modified Time" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Icons خداحافظ" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Icons با اندازه" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "پیدا کردن فایل ها" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "به روز رسانی Desktop" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "نمایش فایل های پنهان" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "انتخاب همه" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Preview" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "افزودن ویجت" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "گزینه Icon Left" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Icon Right را انتخاب کنید" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "انتخاب Icon Up" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "گزینه Icon Down" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Show menu" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Display Shell background menu" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "ساخت Desktop Shortcut" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Text Entry Accels Turn On" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Text Entry Accels خاموش می شود" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "نمایش میانبر بینندگان" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "نمایش یا Hide Desktop Icons" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "اطلاعات بیشتر" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "خانه Home Home" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Trash" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Stack" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "لینک های شکسته" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "نمی تواند این فایل را باز کند زیرا یک لینک شکسته است" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "رانندگی" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "ترجیحات" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "کاربر" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "اجازه دادن" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "شدید" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "آسوده" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "توسعه" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "پیش فرض" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "دستور\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "ترجیحات" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "out \"${programName}\"" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"نصب \"${programName}\" برای فعال کردن دسکتاپ Icons برای انجام این اقدامات." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "انتخاب Desktop Folder" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "فرماندهی پیدا نشد" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "یک برنامه برای باز کردن فایل های انتخاب شده انتخاب کنید." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "همیشه برای این نوع فایل استفاده کنید" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "*Cancel" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "باز کردن" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "نمایش آیکون ها در دسکتاپ GNOME" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"دانلود بازی های رومیزی؛ فایل ها؛ پوشه ها؛manager;arrange;coat;show; launcher;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr ", 2018. +# Timo Jyrinki , 2021. +# Tuomas Nurmi , 2022. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# LibreTranslate , 2023, 2024, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:09+0000\n" +"Last-Translator: Weblate \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: Weblate 5.16.1-dev\n" +"X-Launchpad-Export-Date: 2021-04-08 06:16+0000\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Ylikirjoita" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Pikanäppäimet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Muokkaa pikanäppäyksiä..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Muokkaa sovelluksen pikanäppäimiä" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Pikanäppäimet Muokattava vain, kun laajennus käytössä..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Auta kääntämään selaimessasi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Työpöytä" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Tiedostot" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Sweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Lisää" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Työpöydän asetukset" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Työpöytäohjelman asetukset" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Työpöytäkansio" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Nykyinen työpöytä:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Tiedostojen asetukset" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Gnome-tiedostojen kanssa jaetut asetukset" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Muut Sweaks" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Työpöytäkuvakkeiden koko" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Erittäin pieni" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Pieni" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Tavallinen" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Suuri" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Uusien kuvakkeiden asettelu" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Vasen yläkulma" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Oikea yläkulma" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Vasen alakulma" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Oikea alakulma" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" +"Lisää uudet kuvakkeet Sekundaarisiin Monitoreihin ensin, jos saatavilla" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Napsauta kuvakkeet ruudulle" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Työpöytävimpaimet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Uusi työpöytäkansio" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Aseta uusi kansio työpöydälle" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Valitse" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Aseta työpöytä takaisin ~ /" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Palauta työpöytäkansio" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Palauta" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Korosta pudotusruutu" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Lisää linkkien tietotunnukset, salaus" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Käytä tummaa tekstiä kuvakkeiden selitteissä" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Näytä henkilökohtainen kansio työpöydällä" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Näytä roskakorin kuvake työpöydällä" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Näytä ulkoiset asemat työpöydällä" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Näytä verkkoasemat työpöydällä" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Lisää uudet asemat työpöydän vastakkaiselle puolelle" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Avattavia kohteita koskevat toimet" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Yksi napsautus" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Kaksoisnapsautus" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Näytä pienoiskuvat" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Aina" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Vain tällä tietokoneella" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Ei koskaan" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Näytä valikkokohde pysyvästi poistamiselle" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Näytä piilotiedostot" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Avaa kansiot drag leaverissa" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Siitä..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Käännös" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "Kone käännetty LibreKäännä. Käyttäjä todennettu ja editoitu Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Muokkaa käännökset" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Varmista, lisää tai korjaa käännös selaimessasi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Käännä" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Valitse sovellus avattavaksi {foo} " + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Avoimet kohdat" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Avaa kansio" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Avaa tiedosto" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Virhe oletussovelluksen muuttamisessa" + +# MT: LibreTranslate +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "Virhe asetettaessa {foo} oletussovellukseksi {mimetype}" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Virheelliset luvat sovelluskuvatiedostossa" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Tämä sovelluskuvatiedosto on virheellinen Käyttöoikeudet." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Oikea Napsauta muokataksesi ominaisuuksia:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Aseta luvat" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Muut" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Lue vain" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "tai" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Ei ole" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Käytä vaihtoehtoa" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Salli tiedoston suorittaminen ohjelmana" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Luottamaton sovelluskuvatiedosto" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Tämä sovellus Kuvatiedosto ei ole luotettava, sitä ei voi käynnistää." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "" +"Käynnistyksen mahdollistamiseksi napsauta hiiren oikealla napsautuksella:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "käytössä" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Salli käynnistäminen" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Kansion nimi" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Tiedoston nimi" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "OK" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Nimeä uudelleen" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Automaattinen Ar ei ole asennettu" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Jotta voit työskennellä pakattujen tiedostojen kanssa, asenna tiedostorulla " +"ja/tai gir-1.2-gnome Automaattinen" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Poistetaan tiedostoja" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Pakataan tiedostoja" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Peru" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Syötä salasana tähän" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Poistetaan osittainen tiedosto '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Luodaan kohdekansiota" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Tiedostojen poistaminen '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Ulosotto suoritettu" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Poisto '${fullPathFile}' on valmis." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Poisto peruttu" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Käyttäjä on peruuttanut poiston '${fullPathFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Virhe noudon aikana" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Pakataan tiedostoja '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Pakkaus valmis" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Tiedostojen painaminen '${outputFile}' on valmis." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Peruttu puristus" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Tulostiedosto '${outputFile}' on jo olemassa." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "Käyttäjä on peruuttanut tiedostojen painamisen '${outputFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Virhe pakkausten aikana" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Luo arkisto" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Arkistonimi" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Salasana" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Luo" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Yhteensopiva kaikkien käyttöjärjestelmien kanssa." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Salasana suojattu .zip, on asennettava Windows ja Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Pienemmät arkistot, mutta vain Linux ja Mac." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Pienempiä arkistoja, mutta ne on asennettava Windowsiin ja Maciin." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Näytetty työpöytä on kirjoitettava muiden toimesta" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop-tiedostoja ei voi käynnistää tältä työpöydältä, koska työpöytäkansio " +"on kirjoitettava muiden käyttäjien toimesta.\n" +"\n" +"Tarkista tämän työpöytäkansion käyttöoikeudet ja varmista, että muut eivät " +"kirjoita sitä." + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Rikkinäinen työpöytätiedosto" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Tässä .desktop-tiedostossa on virheitä tai viitteitä ohjelmaan ilman " +"oikeuksia. Sitä ei voi teloittaa.\n" +"\n" +"Muokkaa tiedostoa, jonka avulla valittu ohjelma on oikea." + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Vialliset oikeudet työpöytätiedostossa" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Tässä työpöytätiedostossa on virheelliset luvat." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Luottamaton työpöytätiedosto" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Tämä työpöytätiedosto ei ole luotettava, sitä ei voi käynnistää." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Ei voitu avata Tiedosto" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} ei voi avata tiedostoja tämän tyypin!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Työpöytäkansio Muutos epäonnistui" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Uusi työpöytäkansio on symbolinen linkki" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Uusi työpöytäkansio ei ole olemassa tai ei ole kansio!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Työpöytäkansio vaihtui" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Vaihdetaan uuteen työpöytään..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Työpöydän kuvakkeet" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Päivitä työpöytä" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Lisää widgetti" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Näytä kehyspuskuri Skaalaus ei ole käytössä" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Useat monitorit, joissa on eri zoom-asetukset, suosittelevat näytön " +"runkopuskurin skaalausta.\n" +"\n" +"Ota käyttöön Mutter Dconf -asetuksissa" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Useat monitorit eri zoom-asetuksissa.\n" +"\n" +"Käytäkö näytön runkopuskurin skaalaus Mutter Dconf Settings?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Käytä" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Työpöytää ei voi näyttää" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Työpöytäkansio {desktop} on symbolinen linkki\n" +"\n" +"Aseta työpöydän kansio oikeaan kansioon" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Työpöytäkansiota {desktop} ei ole olemassa tai se ei ole kansio\n" +"\n" +"Tarkista xdg-utils-asennus ja aseta oikea työpöytäkansio" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "Gnome Tiedostoja ei löytynyt" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "Gnome Tiedostosovellus vaaditaan Gtk4 Desktop Icons NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Tiedoston oletushallintaa ei ole" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Ei ole sovellusta, joka käsittelee mimetype \"inode/kansio\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome-tiedostoja ei ole rekisteröity tiedostojenhallintaan" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Gnome Files -sovellusta ei ole ohjelmoitu avaamaan kansioita!\n" +"Tarkista xdg-utilsin asennus\n" +"Tarkista Gnome-tiedostot . desktop Tiedoston asennus" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Tyhjennä nykyinen valinta ennen uutta hakua" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Etsi tiedostoja työpöydällä" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Uusi kansio" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Kansion luominen epäonnistui" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Kansiota ei voitu luoda" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Työpöytää ei voitu avata Gnome-tiedostoissa" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Asetukset Ikkuna on auki" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Tämä ikkuna on auki. Vaihda aktiiviseen ikkunaan." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Asetukset" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Mallin luomisvirhe" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Asiakirjaa ei voitu luoda" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Nimi" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Nimi Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Muokattu aika" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Tyyppi" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Koko" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Järjestä.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Pidä pinottuna tyyppi.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Lajittele koti/kuljettajat/roskat.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Vaihda työpöytää" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Palauta oletustyöpöytä" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Työpöydän kuvakkeen asetukset" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Näytä pikanäppäimet" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Uusi asiakirja" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Liitä" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Kumoa" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Tee uudelleen" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Valitse kaikki" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Järjestä kuvakkeet" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Järjestä.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Näytä työpöytä {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Avaa {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Muokkaa pienoissovelluksia" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell Menu.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "SymLinkin tekeminen epäonnistui" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Symbolinen linkki ei voitu luoda" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Kopioi tai siirrä epäonnistui" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} Ei ole olemassa" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Valitse tiedostojen toiminto" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Siirrä" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Kopioi" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Yhteystiedot" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Kansio" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Tiedosto" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Tiedoston avaaminen epäonnistui" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "\"{fo}\"-tiedostojen avaamiseen ei ole asennettu sovellusta." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Uusi kansio jossa {0} kohde" +msgstr[1] "Uusi kansio jossa {0} kohdetta" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Avaa kaikki..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Käynnistä" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Avaa {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Avaa" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Pura tänne" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Pura…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Avaa..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Avaa kaikki toisella sovelluksella..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Käynnistä integroidun grafiikkakortin avulla" + +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Pinoa tämäntyyppiset" + +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Älä pinoa tämäntyyppisiä" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Suorita ohjelmana" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Komentosarjat" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Leikkaa" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Siirry..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Selvä." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Nimeä uudelleen…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Luo linkki..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Compress {0} kansio" +msgstr[1] "Compress {0} kansio" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Pakkaa {0} tiedosto" +msgstr[1] "Pakkaa {0} tiedostoa" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Sähköposti osoitteeseen..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Lähetä mobiililaitteeseen" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Siirrä roskakoriin" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Poista pysyvästi" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Älä salli käynnistämistä" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Tyhjennä roskakori" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Irrota" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Irrota osio" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Yhteiset ominaisuudet" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Ominaisuudet" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Näytä kaikki {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Näytä {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Avaa {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Avaa kohde" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Uutto peruttu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Ei voitu poimia Tiedosto, ei kohdekansiota" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Valitse kohde" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Valitse" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Kansiota ei voi lähettää sähköpostitse" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Valinta sisältää kansion, pakata .zip tiedosto ensin?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Sähköpostivirhe" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Zip-komentoa ei löydy, asenna ohjelma" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Zip-arkiston luonnissa oli virhe" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Xdg- sähköpostia ei löydy, asenna ohjelma" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Tiedostojen lähettämisessä oli virhe" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Työhakemistoa ei voi avata" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Ei voitu avata Gnome-konsolissa" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Asenna Gnome Console tai muu pääteohjelma" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Ei voitu avata {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Asenna {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Kopioi peruttu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Tiedostoja ei voi kopioida, ei kohdekansiota" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Siirrä peruttu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Tiedostoja ei voitu siirtää, ei kohdekansiota" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ ei voi avata tiedostoja tästä tyypistä!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Konsoli" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Pikanäppäin:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Kirjoita uusi..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Muokkain + avain (esim. Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Nollaa oletus" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Ei kiihdytintä" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Järjestelmän pikanäppäimet" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Yhteinen järjestelmä Määritelty näppäimistön pikanäppäimet" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Paikalliset pikanäppäimet" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Sovellusnäppäimistön pikanäppäimet" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Pikanäppäimet" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Järjestelmän näppäimistön pikanäppäimet" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Näppäimistön pikanäppäimet" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Nollaa pikanäppäimet" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Nollaa kaikki pikanäppäimet oletuksiin" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Nollaa kaikki..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Näytä työpöytä tiedostoissa" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Avaa päätteessä" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Muuta taustaa" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Muuta näytön asetuksia" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Vaihda työpöydän kuvakkeen asetuksia" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Siivoa kuvakkeet" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Pidä järjestetty" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Pinoa" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Järjestä erikoiskansiot" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Järjestä kuvakkeet nimen mukaan" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Järjestä kuvakkeet laskevalla nimellä" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Järjestä kuvakkeet muokatulla ajalla" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Järjestä kuvakkeet Lajin mukaan" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Järjestä kuvakkeet koon mukaan" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Etsi tiedostoja" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Päivitä työpöytä" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Näytä piilotetut tiedostot" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Poista kaikki" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Esikatselu" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Lisää widgetti" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Valitse kuvake vasemmalle" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Valitse kuvake oikea" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Valitse kuvake ylös" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Valitse kuvake alas" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Näytä valikko" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Näytä kansion taustavalikko" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Luo työpöydän pikanäppäin" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Tekstitietue aktivoituu" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Text Entry Accels Sammuta" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Näytä pikavalinta Näytä" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Näytä tai piilota työpöydän kuvakkeet" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Lisätietoja" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Koti" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Roskat" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Pino" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Rikkinäinen linkki" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Tiedostoa ei voitu avata, sillä se on rikkinäinen linkki" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Asema" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Asetukset" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Käyttäjä" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Salli" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Tiukka" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Rento" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Kehitys" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Oletusasetus" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Komento:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Asetukset" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" ei ole saatavilla" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Asenna \"${programName}\", jotta Työpöydän kuvakkeet voivat suorittaa nämä " +"toiminnot." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Valitse työpöytäkansio" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Komentoa ei löydy" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Valitse valittujen tiedostojen avaamiseen tarkoitettu sovellus." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Käytä tätä tiedostotyyppiä aina" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Peru" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Avaa" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Näytä kuvakkeet Gnomen työpöydällä" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"työpöytä; ikonit; tiedostot; kansiot; " +"manager;arrange;piilota;show;laukaisin; oikosulut;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Näytä <> Piilota" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Asetukset" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Poista käytöstä" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Kuvakekoko" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Aseta työpöytäkuvakkeiden koko." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Näytä kotikansio" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Näytä kotikansio työpöydällä." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Näytä roskakorin kuvake" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Näytä roskakorin kuvake työpöydällä." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Uusien kuvakkeiden aloituskulma" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Aseta kulma jonne kuvakkeet sijoitetaan." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Näytä erilliset tallennusvälineet työpöydällä" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Näytä tietokoneeseen liitetyt tallennusvälineet." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Näytä verkkoasemat työpöydällä" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Näytä liitetyt verkkoasemat työpöydällä." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Lisää uudet tallennusvälineet näytön toiselle puolelle" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Näytä lisätyt tallennusvälineet ja asemat työpöydän vastakkaisella puolella." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Näyttää suorakulmio kohteen kohdalla vetämisen ja pudottamisen aikana" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Merkitsee kuvakkeen tulevan paikan ruudukossa osittain läpinäkyvällä " +"suorakulmiolla vetämisen ja pudottamisen aikana." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Järjestä erikoishakemistot - Koti/Roskakori/Asemat." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Kodin, Roskakorin ja liitettyjen verkko- ja ulkoisten asemien sijainnin " +"muuttamiseksi järjestäessä kuvakkeita työpöydällä" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Pidä kuvakkeet järjestettynä" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Pidä kuvakkeet aina viimeksi valitun järjestyksen mukaisesti" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Kuvakkeiden järjestys" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Kuvakkeet järjestetään tämän ominaisuuden mukaan" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Pidä kuvakkeet pinottuina" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Pidä aina kuvakkeet pinottuina, samantyyppiset ryhmissään" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Tiedostotyypit, joita ei pinota" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Taulukko merkkijonoja tiedostotyypeistä, joita ei pinota" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Merkitse tiedostolinkit symbolilla" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Lisää symboli tiedostolinkkien tunnistamisen helpottamiseksi." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Käytä mustaa seliteteksteissä" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Piirrä seliteteksti mustalla valkoisen sijaan. Hyödyllinen vaaleita " +"taustakuvia käyttäessä." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "" +"Näytä uudet kuvakkeet ei-ensisijaisella monitorilla, jos ne on liitetty" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Jos toinen monitori on kytketty, uudet kuvakkeet sijoitetaan ei-" +"ensisijaiseen monitoriin" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Kuvakkeet voidaan sijoittaa mihin tahansa työpöydälle" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Kuvakkeet eivät ole suorakulmaisessa ruudukossa, vaan ne voidaan sijoittaa " +"mihin tahansa ruudusta riippumatta" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Työpöytävimpaimet" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Piilota tai näytä kaikki työpöytäikkunat" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Näytä kuvakkeet työpöydällä tai piilota ne kaikki" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Käyttäjän sovelluksen pikanäppäimet" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Ohita oletussovelluksen pikanäppäimet" diff --git a/ding/po/fr.po b/ding/po/fr.po new file mode 100644 index 0000000..c446820 --- /dev/null +++ b/ding/po/fr.po @@ -0,0 +1,1961 @@ +# French 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. +# ghentdebian , 2018. +# Charles Monzat , 2018. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# LibreTranslate , 2023, 2024, 2026. +# Autantpourmoi , 2024, 2026. +# Ludovic , 2024, 2025, 2026. +# Red Quarck , 2024, 2025, 2026. +# "Alexandre G. Raymond" , 2024, 2026. +# fanfu , 2024, 2025, 2026. +# French Fries , 2025, 2026. +# Sundeep Mediratta , 2026. +# Quentin PAGÈS , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:09+0000\n" +"Last-Translator: Quentin PAGÈS \n" +"Language-Team: French \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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Remplacer" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Raccourcis" + +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Modifier les raccourcis..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Modifier les raccourcis d'application" + +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Les raccourcis ne sont modifiables que si l'extension est activée..." + +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Aidez à traduire dans votre navigateur web" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Ordinateur de bureau" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Fichiers" + +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Ajustements" + +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Plus" + +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Paramètres du bureau" + +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Paramètres du programme Bureau" + +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Dossier du bureau" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Bureau actuel :" + +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Paramètres des fichiers" + +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Paramètres partagés avec Gnome Files" + +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Réglages divers" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Taille des icônes du bureau" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Minuscule" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Petite" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Normale" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Grande" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Nouvel alignement des icônes" + +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Coin supérieur gauche" + +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Coin supérieur droit" + +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Coin inférieur gauche" + +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Coin inférieur droit" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" +"Ajouter d'abord de nouvelles icônes aux moniteurs secondaires, si disponibles" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Activer les icônes sur la grille" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Widgets de bureau" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Nouveau dossier de bureau" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Définir un nouveau dossier pour le bureau" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Choisir" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Remettre le bureau à ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Restaurer le dossier de bureau par défaut" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Restauration" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Mettre en évidence la grille de chute" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Ajouter des emblèmes d'information pour les liens, chiffrement" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Utiliser un texte sombre pour les libellés des icônes" + +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Afficher le dossier personnel sur le bureau" + +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Afficher l'icône de la corbeille sur le bureau" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Afficher les disques externes sur le bureau" + +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Afficher les lecteurs réseau sur le bureau" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Ajouter de nouveaux disques du côté opposé du bureau" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Action pour ouvrir des éléments" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Simple clic" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Double clic" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Afficher les imagettes" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Toujours" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Sur cet ordinateur seulement" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Jamais" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "" +"Afficher un élément « Supprimer définitivement » dans le menu contextuel" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Afficher les fichiers cachés" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Ouvrir les dossiers sur le hover drag" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "À propos..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Traduction" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Traduction automatique en utilisant LibreTranslate. Vérifiée et modifiée par " +"les utilisateurs sur Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Modifier les traductions" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Vérifier, ajouter ou corriger la traduction dans votre navigateur Web" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Traduire" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Choisissez une application pour ouvrir {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Ouvrir des éléments" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Ouvrir le dossier" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Ouvrir un fichier" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Erreur lors de la modification de l'application par défaut" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Autorisations non valides sur le fichier AppImage" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Ce fichier AppImage a des permissions incorrectes." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Cliquez avec le bouton droit pour modifier Propriétés, puis :" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Définir les permissions, dans" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Autres Accès" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Lire seulement" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "ou" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Aucune" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Activer l'option" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Permettre l'exécution de fichiers comme un programme" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Fichier AppImage non fiable" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "" +"Cette application Le fichier image n'est pas fiable, il ne peut pas être " +"lancé." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Pour activer le lancement, faites un clic droit, puis :" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "activer" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Autoriser l’exécution" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Nom du dossier" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Nom du fichier" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "Valider" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Renommer" + +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "AutoAr n'est pas installé" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Pour être en mesure de travailler avec des fichiers compressés, installer " +"fichier-rouleur et/ou gir-1.2-gnome AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Extraire des fichiers" + +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Compression des fichiers" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Annuler" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Saisissez un mot de passe ici" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Suppression du fichier partiel '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Création du dossier de destination" + +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Extraction des fichiers dans '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Extraction terminée" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "L'extraction '${fullPathFile}' a été effectuée." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Extraction annulée" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Extraire '${fullPathFile}' a été annulé par l'utilisateur." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "La phrase requise pour ${filename}" + +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Erreur lors de l'extraction" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Compresser les fichiers dans '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Compression terminée" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "La compression des fichiers dans '${outputFile}' est terminée." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Compression annulée" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Le fichier de sortie '${outputFile}' existe déjà." + +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" +"La compression des fichiers dans'${outputFile}' a été annulée par " +"l'utilisateur." + +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Erreur lors de la compression" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Créer une archive" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Nom de l'archive" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Mot de passe" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Créer" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Compatible avec tous les systèmes d'exploitation." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Mot de passe protégé .zip, doit être installé sur Windows et Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Archives plus petites mais Linux et Mac seulement." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "" +"Des archives plus petites mais doivent être installées sur Windows et Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Le bureau affiché est enregistrable par d'autres" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"Les fichiers .deskop ne peuvent pas être lancés depuis ce bureau car le " +"dossier de bureau est enregistrable par d'autres utilisateurs.\n" +"\n" +"Veuillez vérifier les autorisations de ce dossier de bureau, et assurez-vous " +"qu'il n'est pas enregistrable par d'autres." + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Fichier XDG Desktop incorrect" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Ce fichier .desktop comporte des erreurs ou des points vers un programme " +"sans autorisation. Il ne peut pas être exécuté.\n" +"\n" +"Modifier le fichier pour définir le bon programme exécutable." + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Permissions du fichier XDG Desktop incorrectes" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Ce fichier de bureau a des permissions incorrectes." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Fichier de bureau non fiable" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Ce fichier Desktop n'est pas fiable, il ne peut pas être lancé." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Impossible d'ouvrir Fichier" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} ne peut pas ouvrir des fichiers de ce type!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Dossier de bureau Le changement a échoué" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Le nouveau dossier de bureau est un lien symbolique" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Le nouveau dossier de bureau n'existe pas ou n'est pas un dossier!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Dossier de bureau modifié" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Passage au nouveau bureau..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Icônes de bureau" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Mettre à jour le bureau" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Ajouter un widget" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Buffer de monitoring Le calibrage n'est pas activé" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Plusieurs moniteurs avec différents paramètres de zoom, recommander par " +"moniteur framebuffer échelle.\n" +"\n" +"Veuillez activer dans les paramètres de Mutter Dconf" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Plusieurs moniteurs avec différents paramètres de zoom.\n" +"\n" +"Activer la mise à l'échelle par moniteur dans les paramètres Mutter Dconf ?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Activer" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Impossible d'afficher le bureau" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Le dossier Bureau {desktop} est un lien symbolique\n" +"\n" +"Veuillez définir le dossier de bureau dans un vrai dossier" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Le dossier Bureau {desktop} n'existe pas, ou n'est pas un répertoire\n" +"\n" +"Vérifiez votre installation xdg-utils et définissez le bon dossier de bureau" + +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "Fichiers GNOME non trouvés" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "Le GNOME L'application Fichiers est requise par Gtk4 Desktop Icons NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Il n'y a pas de gestionnaire de fichiers par défaut" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Il n'y a aucune application qui gère mimetype \"inode/répertoire\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome Files n'est pas enregistré comme gestionnaire de fichiers" + +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"L'application GNOME Files n'est pas programmée pour ouvrir Folders\n" +"Vérifiez votre installation xdg-utils\n" +"Vérifiez le fichier d'installation Gnome Files .desktop" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Effacer la sélection actuelle avant la nouvelle recherche" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Rechercher des fichiers sur le bureau" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Nouveau dossier" + +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Échec de la création du dossier" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Impossible de créer le dossier" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Impossible d'ouvrir le bureau dans les fichiers Gnome" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "La fenêtre des préférences est ouverte" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Cette fenêtre est ouverte. Veuillez passer à la fenêtre active." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Paramètres" + +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Erreur de création d'un modèle" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Impossible de créer le document" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Nom" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Nom Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Heure modifiée" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Type" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Taille" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Gardez-vous arrangé.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Garder empilé par type.." + +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Trier Dossier personnel/Volumes/Corbeille" + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Changer de bureau" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Restaurer le bureau par défaut" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Paramètres de l'icône de bureau" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Afficher les raccourcis" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Nouveau document" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Coller" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Annuler" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Refaire" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Tout sélectionner" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Ordonner les icônes" + +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Trier par :" + +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Afficher le bureau dans {0}" + +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Ouvrir dans {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Modifier le widget" + +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Menu Shell…" + +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Échec de la création de SymLink" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Impossible de créer un lien symbolique" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Copier/déplacer a échoué" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} N'existe pas" + +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Choisir l'action pour les fichiers" + +#: app/dragManager.js:792 +msgid "Move" +msgstr "Déplacer" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Copier" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Lien" + +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Dossier" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Fichier" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Ouverture du fichier échoué" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "" +"Il n'y a pas d'application installée pour ouvrir les fichiers \"{fo}\"." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Nouveau dossier avec {0} élément" +msgstr[1] "Nouveau dossier avec {0} éléments" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Ouvrir tout…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Lancement" + +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Ouvrir avec {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Ouvrir" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Extraire ici" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Extraire vers…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Ouvrir avec..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Tout ouvrir avec une autre application…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Lancement avec carte graphique intégrée" + +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Regrouper ce type" + +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Dégrouper ce type" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Exécuter comme un programme" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Scripts" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Couper" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Allez..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Copier sur..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Renommer…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Créer un lien..." + +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Compressez {0} dossier" +msgstr[1] "Compressez {0} dossiers" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Compresser {0} fichier" +msgstr[1] "Compresser {0} fichiers" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Courriel à..." + +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Envoyer à l'appareil mobile" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Mettre à la corbeille" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Supprimer définitivement" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Interdire l’exécution" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Vider la corbeille" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Éjecter" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Démonter" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Préférences" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Propriétés" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Afficher tout dans {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Afficher dans {0}" + +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Ouvrir dans {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Ouvrir l' élément" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Extraction annulée" + +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Impossible d'extraire le fichier, pas de dossier de destination" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Sélectionner une destination" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Sélectionner" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Impossible d’envoyer un dossier par courriel" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "" +"La sélection comprend un répertoire, compresser d'abord vers un fichier .zip?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Erreur de courriel" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Impossible de trouver la commande zip, veuillez installer le programme" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Il y a eu une erreur dans la création d'une archive zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Impossible de trouver xdg-email, veuillez installer le programme" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Il y a eu une erreur dans l'emailing des fichiers" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Impossible d'ouvrir le répertoire de travail" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Impossible d'ouvrir la console Gnome" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Installez Gnome Console ou un autre programme terminal" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Impossible d'ouvrir {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Installer {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Copie annulée" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Impossible de copier des fichiers, aucun dossier de destination" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Déplacement annulé" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Impossible de déplacer des fichiers, aucun dossier de destination" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ ne peut pas ouvrir les fichiers de ce type!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Console" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Raccourci par défaut & #160;:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Tapez nouveau..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modificateur + Clé (par exemple Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Réinitialiser par défaut" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Pas d'accélérateur" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Raccourcis système" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Raccourcis clavier définis par le système commun" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Raccourcis locaux" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Raccourcis clavier d'application" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Raccourcis mondiaux" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Raccourcis clavier système" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Raccourcis clavier" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Réinitialiser les raccourcis" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Réinitialiser tous les raccourcis vers les valeurs par défaut" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Tout réinitialiser..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Afficher le bureau dans les fichiers" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Ouvrir un terminal" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Historique du changement" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Modifier les paramètres d'affichage" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Modifier les paramètres de l'icône de bureau" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Nettoyer les icônes" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Rester arrangé" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Garder le sac" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Trier les dossiers spéciaux" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Disposer les icônes par nom" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Disposer les icônes par nom croissant" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Disposer les icônes par heure modifiée" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Disposer les icônes Par nature" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Disposer les icônes par taille" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Trouver des fichiers" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Mettre à jour le bureau" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Afficher les fichiers cachés" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Tout désélectionner" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Aperçu" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Ajouter un widget" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Choisir Icône gauche" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Choisir la bonne icône" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Choisir l'icône" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Choisir l'icône vers le bas" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Afficher le menu" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Afficher le menu d'arrière-plan de Shell" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Créer un raccourci de bureau" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Entrée de texte Accels Allumer" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Arrêt des Accels d'entrée de texte" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Afficher le raccourci Affichage" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Afficher ou masquer les icônes de bureau" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Informations supplémentaires" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Dossier personnel" + +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Corbeille" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Stack" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Lien brisé" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "" +"Impossible d’ouvrir ce fichier car il s’agit d’un lien symbolique dont la " +"cible n’existe plus" + +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Volume" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Préférences" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Utilisateur" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Autoriser" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Strict" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Relâché" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Développement" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Défaut" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Commande :\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Préférences" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" n'est pas disponible" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Installez \"${programName}\" pour permettre aux icônes de bureau d'effectuer " +"ces actions." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Choisir le dossier de bureau" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Commande introuvable" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Choisissez une application pour ouvrir les fichiers sélectionnés." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Toujours utiliser pour ce type de fichier" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Annuler" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Ouvrir" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Affiche les icônes sur le bureau GNOME" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "bureau;icônes;fichiers;dossiers;manager;dispositif;show;lanceur;shortcuts;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Afficher <>Cacher" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Préférences" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Désactiver" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Taille des icônes" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Définit la taille des icônes du bureau." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Afficher le dossier personnel" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Affiche le dossier personnel sur le bureau." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Afficher la corbeille" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Affiche l’icône de la corbeille sur le bureau." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Coin de référence des nouvelles icônes" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "" +"Définit le coin à partir duquel les icônes commenceront à être placées." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Afficher les volumes de stockage externes sur le bureau" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Affiche les volumes de stockage connectées à l’ordinateur." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Afficher les volumes réseau sur le bureau" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Affiche sur le bureau les volumes réseau montés." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Ajouter les nouveaux volumes de stockage sur le côté opposé de l’écran" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Lorsque des volumes de stockage sont ajoutés sur le bureau, les afficher sur " +"le côté opposé de l’écran." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "" +"Affiche un rectangle sur l’emplacement de destination lors d’un " +"glisser‑déposer" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Lors d’un glisser‑déposer, affiche un rectangle semi‑transparent à " +"l’emplacement de la grille où l’icône sera déposée." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Trier les dossiers spéciaux — Dossier personnel, Corbeille et médias." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Lorsque les icônes sont réorganisées sur le bureau, trie et réorganise le " +"dossier personnel, la corbeille et les médias amovibles de manière spécifique" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Conserver les icônes ordonnées" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Toujours Conserver le dernier ordre de tri des icônes" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Ordre de tri" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Icônes triées avec cette propriété" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Conserver les icônes ordonnées" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "" +"Toujours conserver les icônes ordonnées, les types identiques sont regroupés" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Types de fichiers à ne pas regrouper" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "" +"Un tableau de chaînes de caractères contenant les types de fichiers à ne pas " +"regrouper" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Ajouter un emblème aux liens" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Ajoute un emblème permettant d’identifier les liens symboliques." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Utiliser le noir pour le texte des libellés" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Écrit le texte des libellés en noir au lieu de blanc. Ceci est utile avec " +"des arrière‑plans clairs." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Afficher les nouvelles icônes sur le moniteur non primaire si connecté" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Si un deuxième moniteur est connecté, de nouvelles icônes sont placées sur " +"le moniteur non primaire" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "les icones peuvent être positionnées n'importe où sur le Bureau" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Les icônes ne sont pas sur une grille rectangulaire mais peuvent être " +"positionnées n'importe où indépendament de la grille" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Widgets de bureau" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Masquer/afficher toutes les fenêtres de bureau" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Afficher les icônes sur le bureau, ou les cacher toutes" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Raccourcis de l'application utilisateur" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" +"Override pour les raccourcis d'application par défaut définis par " +"l'utilisateur" diff --git a/ding/po/fur.po b/ding/po/fur.po new file mode 100644 index 0000000..5c7c4b0 --- /dev/null +++ b/ding/po/fur.po @@ -0,0 +1,1840 @@ +# 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. +# Weblate Translation Memory , 2023, 2025, 2026. +# Weblate , 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-01-12 12:03+0000\n" +"Last-Translator: Weblate Translation Memory \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" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.15.1\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Scurtis" + +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "" + +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "" + +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "" + +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "" + +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "" + +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "" + +#: app/adwPreferencesWindow.js:625 +#, fuzzy +msgid "Desktop Settings" +msgstr "Impostazions visôr" + +#: app/adwPreferencesWindow.js:626 +#, fuzzy +msgid "Settings for the Desktop Program" +msgstr "Stabilìs la dimension pes iconis dal scritori." + +#: app/adwPreferencesWindow.js:632 +#, fuzzy +msgid "Desktop Folder" +msgstr "Tire fûr ca" + +#: app/adwPreferencesWindow.js:633 +#, fuzzy +msgid "Current Desktop: " +msgstr "Mostre Scritori in File" + +#: app/adwPreferencesWindow.js:643 +#, fuzzy +msgid "Files Settings" +msgstr "Impostazions visôr" + +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "" + +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Dimension pes iconis dal scritori" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Piçule" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Standard" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Largje" + +#: app/adwPreferencesWindow.js:686 +#, fuzzy +msgid "New icons alignment" +msgstr "Dimension icone" + +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "" + +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "" + +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "" + +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "" + +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" + +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "" + +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "Mostre Scritori in File" + +#: app/adwPreferencesWindow.js:712 +#, fuzzy +msgid "New Desktop Folder" +msgstr "Tire fûr ca" + +#: app/adwPreferencesWindow.js:713 +#, fuzzy +msgid "Set a new folder for the desktop" +msgstr "Mostre la cartele personâl intal scritori" + +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "" + +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "" + +#: app/adwPreferencesWindow.js:721 +#, fuzzy +msgid "Restore Default Desktop Folder" +msgstr "Mostre Scritori in File" + +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "" + +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "" + +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "" + +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Mostre la cartele personâl intal scritori" + +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Mostre la icone de scovacere intal scritori" + +#: app/adwPreferencesWindow.js:761 +#, fuzzy +msgid "Show external drives on the desktop" +msgstr "Mostre la cartele personâl intal scritori" + +#: app/adwPreferencesWindow.js:766 +#, fuzzy +msgid "Show network drives on the desktop" +msgstr "Mostre la cartele personâl intal scritori." + +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "" + +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "" + +#: app/adwPreferencesWindow.js:798 +#, fuzzy +msgid "Show hidden files" +msgstr "Mostre in File" + +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "" + +#: app/adwPreferencesWindow.js:807 +#, fuzzy +msgid "About..." +msgstr "Informazions su" + +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Traduzion sucessive" + +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" + +#: app/adwPreferencesWindow.js:826 +#, fuzzy +msgid "Edit Translations" +msgstr "tradûs" + +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "" + +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "tradûs" + +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "" + +#: app/appChooser.js:90 +#, fuzzy +msgid "Open Items" +msgstr "Vierç in Terminâl" + +#: app/appChooser.js:92 +#, fuzzy +msgid "Open Folder" +msgstr "Gnove cartele" + +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +#, fuzzy +msgid "Open File" +msgstr "Vierç" + +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "" + +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "" + +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "" + +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "" + +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "" + +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "" + +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "" + +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "No stâ centrâ" + +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +#, fuzzy +msgid "Enable option" +msgstr "Abilitât" + +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "" + +#: app/appImageFileItem.js:79 +#, fuzzy +msgid "Untrusted AppImage File" +msgstr "Mostre Scritori in File" + +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "" + +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "" + +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "Abilite" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Permet inviament" + +#: app/askRenamePopup.js:61 +#, fuzzy +msgid "Folder name" +msgstr "Gnûf non de cartele" + +#: app/askRenamePopup.js:61 +#, fuzzy +msgid "File name" +msgstr "Cambie non..." + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "Va ben" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Cambie non..." + +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "" + +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" + +#: app/autoAr.js:207 +#, fuzzy +msgid "Extracting files" +msgstr "Tire fûr ca" + +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Anule" + +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "" + +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "" + +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "" + +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "" + +#: app/autoAr.js:439 +#, fuzzy +msgid "Extraction completed" +msgstr "Tire fûr ca" + +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "" + +#: app/autoAr.js:446 +#, fuzzy +msgid "Extraction cancelled" +msgstr "Tire fûr ca" + +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "" + +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "" + +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "" + +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "" + +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "" + +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "" + +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "" + +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "" + +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" + +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "" + +#: app/autoAr.js:551 +#, fuzzy +msgid "Create archive" +msgstr "Cree" + +#: app/autoAr.js:575 +#, fuzzy +msgid "Archive name" +msgstr "Cambie non..." + +#: app/autoAr.js:608 +msgid "Password" +msgstr "Password" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "Cree" + +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "" + +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "" + +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "" + +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "" + +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "" + +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" + +#: app/desktopFileIcon.js:138 +#, fuzzy +msgid "Broken Desktop File" +msgstr "Mostre Scritori in File" + +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "" + +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "" + +#: app/desktopFileIcon.js:173 +#, fuzzy +msgid "Untrusted Desktop File" +msgstr "Mostre Scritori in File" + +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "" + +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "" + +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "" + +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +#, fuzzy +msgid "Desktop Folder Change Failed" +msgstr "Gnûf non de cartele" + +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "" + +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "" + +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "" + +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "" + +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +#, fuzzy +msgid "Desktop Icons" +msgstr "Impostazions visôr" + +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Mostre Scritori in File" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "" + +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "" + +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" + +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" + +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Abilite" + +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" + +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "" + +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "" + +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "" + +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "" + +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "" + +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" + +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Gnove cartele" + +#: app/desktopManager.js:1674 +#, fuzzy +msgid "Folder Creation Failed" +msgstr "Gnûf non de cartele" + +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "" + +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "" + +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "" + +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "" + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Impostazions" + +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "" + +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "" + +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Non" + +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "" + +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "" + +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Gjenar" + +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "" + +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "" + +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "" + +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "" + +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "" + +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "" + +#: app/desktopMenu.js:1072 +#, fuzzy +msgid "Desktop Icon Settings" +msgstr "Impostazions visôr" + +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Gnûf Document" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Tache" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Anule" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Torne fâ" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +#, fuzzy +msgid "Select All" +msgstr "Selezione dut" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "" + +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "" + +#: app/desktopMenu.js:1116 +#, fuzzy +msgid "Show Desktop In {0}" +msgstr "Mostre Scritori in File" + +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "" + +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "" + +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "" + +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "" + +#: app/dragManager.js:748 +#, fuzzy +msgid "Copy/Move Failed" +msgstr "Anule" + +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "" + +#: app/dragManager.js:791 +#, fuzzy +msgid "Choose Action for Files" +msgstr "Mostre in File" + +#: app/dragManager.js:792 +msgid "Move" +msgstr "" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Copie" + +#: app/dragManager.js:792 +msgid "Link" +msgstr "Colegament" + +#: app/fileItemIcon.js:95 +#, fuzzy +msgid "Folder" +msgstr "Gnove cartele" + +#: app/fileItemIcon.js:96 +#, fuzzy +msgid "File" +msgstr "Vierç" + +#: app/fileItemIcon.js:286 +#, fuzzy +msgid "Opening File Failed" +msgstr "Vierç" + +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "" + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "" +msgstr[1] "" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "" + +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "" + +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Vierç" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Tire fûr ca" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Tire fûr su…" + +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "" + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Vierç cuntune altre aplicazion" + +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "" + +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "" + +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "" + +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Script" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Taie" + +#: app/fileItemMenu.js:244 +#, fuzzy +msgid "Move to..." +msgstr "Invie a…" + +#: app/fileItemMenu.js:245 +#, fuzzy +msgid "Copy to..." +msgstr "Invie a…" + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Cambie non..." + +#: app/fileItemMenu.js:254 +#, fuzzy +msgid "Create Link..." +msgstr "Cree" + +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "" +msgstr[1] "" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "" +msgstr[1] "" + +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "" + +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Sposte te scovacere" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Elimine par simpri" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Permet inviament" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Disvuede scovacere" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Pare fûr" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Dismonte" + +#: app/fileItemMenu.js:354 +#, fuzzy +msgid "Common Properties" +msgstr "Propietâts" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Propietâts" + +#: app/fileItemMenu.js:362 +#, fuzzy +msgid "Show All in {0}" +msgstr "Mostre in File" + +#: app/fileItemMenu.js:363 +#, fuzzy +msgid "Show in {0}" +msgstr "Mostre in File" + +#: app/fileItemMenu.js:374 +#, fuzzy +msgid "Open in {0}" +msgstr "Vierç" + +#: app/fileItemMenu.js:539 +#, fuzzy +msgid "Open Item" +msgstr "Vierç in Terminâl" + +#: app/fileItemMenu.js:821 +#, fuzzy +msgid "Extraction Cancelled" +msgstr "Tire fûr ca" + +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "" + +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Selezione" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "" + +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "" + +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "" + +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "" + +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +#, fuzzy +msgid "Archive.zip" +msgstr "Cambie non..." + +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "" + +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "" + +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "" + +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "" + +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "" + +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "" + +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "" + +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "" + +#: app/fileItemMenu.js:1283 +#, fuzzy +msgid "Copy Cancelled" +msgstr "Anule" + +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "" + +#: app/fileItemMenu.js:1307 +#, fuzzy +msgid "Move Cancelled" +msgstr "Anule" + +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "" + +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "" + +#: app/preferences.js:1078 +msgid "Console" +msgstr "" + +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "" + +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "" + +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "" + +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Ripristine lis impostazions predefinidis" + +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "" + +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "" + +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "" + +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "" + +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "" + +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "" + +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Scurtis di tastiere" + +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Scurtis di tastiere" + +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "" + +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "" + +#: app/shortcutManager.js:710 +#, fuzzy +msgid "Reset All..." +msgstr "Selezione dut" + +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Mostre Scritori in File" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Vierç in Terminâl" + +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Cambie sfont…" + +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Impostazions visôr" + +#: app/shortcuts.js:19 +#, fuzzy +msgid "Change Desktop Icon Settings" +msgstr "Impostazions visôr" + +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "" + +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "" + +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "" + +#: app/shortcuts.js:23 +#, fuzzy +msgid "Sort Special Folders" +msgstr "Mostre cartele personâl" + +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "" + +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "" + +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "" + +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "" + +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "" + +#: app/shortcuts.js:29 +#, fuzzy +msgid "Find Files" +msgstr "Vierç" + +#: app/shortcuts.js:30 +#, fuzzy +msgid "Update Desktop" +msgstr "Mostre Scritori in File" + +#: app/shortcuts.js:31 +#, fuzzy +msgid "Show Hidden Files" +msgstr "Mostre in File" + +#: app/shortcuts.js:32 +#, fuzzy +msgid "Unselect All" +msgstr "Selezione dut" + +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "" + +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +#, fuzzy +msgid "Choose Icon Left" +msgstr "Mostre in File" + +#: app/shortcuts.js:42 +#, fuzzy +msgid "Choose Icon Right" +msgstr "Mostre in File" + +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "" + +#: app/shortcuts.js:48 +#, fuzzy +msgid "Choose Icon Down" +msgstr "Mostre in File" + +#: app/shortcuts.js:51 +#, fuzzy +msgid "Show Menu" +msgstr "Mostre in File" + +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "" + +#: app/shortcuts.js:53 +#, fuzzy +msgid "Create Desktop Shortcut" +msgstr "Mostre Scritori in File" + +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "" + +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "" + +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "" + +#: app/shortcuts.js:58 +#, fuzzy +msgid "Show Or Hide Desktop Icons" +msgstr "Impostazions visôr" + +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Cjase" + +#: app/specialFolderIcon.js:63 +#, fuzzy +msgid "Trash" +msgstr "Disvuede scovacere" + +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "" + +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "" + +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Preferencis" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Disvilup" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +#: app/widgetManager.js:2187 +#, fuzzy +msgid "Default" +msgstr "Ripristine lis impostazions predefinidis" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Preferencis" + +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "" + +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" + +#: app/utils/desktopFolderUtils.js:84 +#, fuzzy +msgid "Choose Desktop Folder" +msgstr "Mostre Scritori in File" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Comant no cjatât" + +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "" + +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "" + +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "Anule" + +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "Vierç" + +#: data/com.desktop.ding.desktop.in:5 +#, fuzzy +msgid "Display icons on the GNOME desktop" +msgstr "Mostre la icone de scovacere intal scritori" + +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" + +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "" + +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Preferencis" + +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Disabilitât" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Dimension icone" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Stabilìs la dimension pes iconis dal scritori." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Mostre cartele personâl" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Mostre la cartele personâl intal scritori." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Mostre la icone de scovacere" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Mostre la icone de scovacere intal scritori." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +#, fuzzy +msgid "New icons start corner" +msgstr "Dimension icone" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +#, fuzzy +msgid "Show external drives in the desktop" +msgstr "Mostre la cartele personâl intal scritori" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +#, fuzzy +msgid "Show the disk drives connected to the computer." +msgstr "Mostre la cartele personâl intal scritori" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +#, fuzzy +msgid "Show network drives in the desktop" +msgstr "Mostre la cartele personâl intal scritori." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +#, fuzzy +msgid "Show mounted network volumes in the desktop." +msgstr "Mostre la cartele personâl intal scritori." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +#, fuzzy +msgid "Show Desktop Widgets" +msgstr "Mostre Scritori in File" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +#, fuzzy +msgid "Show the icons on the desktop, or hide them all" +msgstr "Mostre la icone de scovacere intal scritori" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" + +#, fuzzy +#~| msgid "Paste" +#~ msgid "Do Paste" +#~ msgstr "Tache" + +#, fuzzy +#~ msgid "Copy Item" +#~ msgstr "Vierç in Terminâl" + +#, fuzzy +#~ msgid "Rename Item" +#~ msgstr "Cambie non..." + +#, fuzzy +#~| msgid "Delete permanently" +#~ msgid "Delete Permanently" +#~ msgstr "Elimine par simpri" + +#, fuzzy +#~| msgid "Properties" +#~ msgid "Show Properties" +#~ msgstr "Propietâts" + +#, fuzzy +#~| msgid "Create" +#~ msgid "Create Link to Item" +#~ msgstr "Cree" + +#, fuzzy +#~ msgid "Open In Terminal" +#~ msgstr "Vierç in Terminâl" + +#, fuzzy +#~ msgid "No Extraction Folder" +#~ msgstr "Tire fûr ca" + +#~ msgid "Open With Other Application" +#~ msgstr "Vierç cuntune altre aplicazion" + +#~ msgid "Do you want to run “{0}”, or display its contents?" +#~ msgstr "Vuelistu eseguî “{0}” o mostrâ il so contignût?" + +#~ msgid "“{0}” is an executable text file." +#~ msgstr "“{0}” al è un file di test eseguibil." + +#, fuzzy +#~ msgid "Execute in a terminal" +#~ msgstr "Vierç in Terminâl" + +#, fuzzy +#~ msgid "New folder" +#~ msgstr "Gnove cartele" + +#~ msgid "Delete" +#~ msgstr "Elimine" + +#~ msgid "If you delete an item, it will be permanently lost." +#~ msgstr "Se tu eliminis un element, al sarà pierdût par simpri." + +#, fuzzy +#~ msgid "Show the external drives" +#~ msgstr "Mostre la cartele personâl intal scritori" + +#, fuzzy +#~ msgid "Show network volumes" +#~ msgstr "Mostre in File" + +#~ msgid "Enter file name…" +#~ msgstr "Inserìs il non dal file…" + +#~ msgid "Folder names cannot contain “/”." +#~ msgstr "I nons des cartelis no puedin contignî il caratar “/”" + +#~ msgid "A folder cannot be called “.”." +#~ msgstr "Une cartele no pues jessi clamade “.”." + +#~ msgid "A folder cannot be called “..”." +#~ msgstr "Une cartele no pues jessi clamade “..”." + +#~ msgid "Folders with “.” at the beginning of their name are hidden." +#~ msgstr "Lis cartelis cul “.” al inizi dal lôr non a son platadis." + +#~ msgid "There is already a file or folder with that name." +#~ msgstr "Un file o une cartele cul stes non e esist za." + +#, fuzzy +#~ msgid "Desktop Icons Settings" +#~ msgstr "Impostazions visôr" diff --git a/ding/po/ga.po b/ding/po/ga.po new file mode 100644 index 0000000..61a17b8 --- /dev/null +++ b/ding/po/ga.po @@ -0,0 +1,2086 @@ +# Irish translations for gtk4-ding package. +# Copyright (C) 2025 THE gtk4-ding'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Automatically generated, 2025. +# +# Weblate , 2025, 2026. +# Weblate Translation Memory , 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-20 21:36+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Irish \n" +"Language: ga\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 ? 1 : 2;\n" +"X-Generator: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Sáraigh" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Gearáin agus Cur i bhFeidhm" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Seirbhís do Chustaiméirí." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Gearáin agus Cur i bhFeidhm" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Amharc ar gach eolas Éite ach amháin nuair a Síneadh Cumasaithe..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Cabhair aistriú i do bhrabhsálaí gréasáin" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Riachtanais uisce: measartha" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Amharc ar gach eolas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Taiseachas aeir: fliuch" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Tuilleadh eolais" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Socruithe Deasc" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Socruithe don Chlár Deasc" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Seirbhís do Chustaiméirí" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Deasc Reatha:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Naisc ábhartha eile" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Socruithe roinnte le Comhaid Gnome" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "An tAcht iomlán. taiseachas aeir: fliuch" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Méid do na deilbhíní deisce" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Riachtanais uisce: measartha" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Beag beann ar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Caighdeán Caighdeánach" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Móra" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Ailíniú deilbhíní nua" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Cúinne ar chlé Barr" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Cúinne ceart Barr" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Cúinne na láimhe clé" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Cúinne ceart bun" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Cuir deilbhíní nua le Monatóirí Darach ar dtús, má tá siad ar fáil" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Deilbhíní Snap le greille" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Giuirléidí deisce" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "New Deisce Fillteán" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Socraigh fillteán nua don deasc" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Roghnaigh" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Socraigh Deasc ar ais go dtí ~ /" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Déan teagmháil Linn" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Déan teagmháil linn" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Solas an ghreille titim" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Cuir feathail eolais le haghaidh naisc, criptithe" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Bain úsáid as téacs dorcha i lipéid deilbhín" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Taispeáin an fillteán pearsanta ar an deasc" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Taispeáin an deilbhín bruscar ar an deasc" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Taispeáin thiomáineann seachtracha ar an deasc" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Taispeáin thiomáineann líonra ar an deasc" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Cuir thiomáineann nua ar an taobh eile den deasc" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Gnímh chun Míreanna Oscailte" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Cliceáil grianghraf a mhéadú" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Cliceáil grianghraf a mhéadú" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Taispeáin thumbnails íomhá" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "I gcónaí" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Ar an ríomhaire ach amháin" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Ná bíodh" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Taispeáin mír roghchlár comhthéacs a scriosadh go buan" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Taispeáin comhaid i bhfolach" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Fillteáin oscailte ar hover tarraing" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Maidir..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Aistriúchán" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Meaisín aistrithe ag baint úsáide LibreTranslate. Úsáideoir fhíorú agus " +"eagarthóireacht ar Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Cuir Aistriúchán" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Fíoraigh, cuir nó aistriúchán ceart i do bhrabhsálaí gréasáin" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Taiseachas aeir: fliuch" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Roghnaigh iarratas a oscailt {foo}] bb" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Míreanna Oscailte" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Fillteán Oscailte" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Irl - Library Service" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Iarratas réamhshocraithe a athrú Earráid" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Ceadúnas Madraí ar Líne" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Tá Ceadanna míchearta ag an gcomhad AppImage seo." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Cliceáil ar dheis a chur in eagar Airíonna, ansin:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Ceadanna Socraigh, i" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Amharc ar gach eolas" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Léigh ach amháin" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "nó" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Gan a bheith ráite" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Rogha Cumasaigh" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Ceadaigh Comhad Seiceála mar Chlár" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Níor oibrigh nasc nó íoslódáil i gceart" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "" +"Amharc ar gach eolas Níl comhad íomhá iontaofa, ní féidir é a sheoladh." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Chun a chumasú seoladh, ceart-cliceáil, ansin:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "cumas a chumasú" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Ceadaigh Seoladh" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Ainm Fillteán" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Ainm comhaid" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "OK" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Amharc ar gach eolas" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Auto Auto Auto Auto Auto Níl sé suiteáilte" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"A bheith in ann a bheith ag obair le comhaid comhbhrúite, a shuiteáil comhad-" +"rollóir agus / nó gir-1.2-gnome Uathoibríoch" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Comhaid a bhaint as" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Comhaid Compressing" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Cealaigh" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Cuir isteach focal faire anseo" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Aistriú comhad páirteach '${outputFile}']" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Cruthú fillteán scríbe" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Comhaid a bhaint isteach '${outputPath}']" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Sliocht críochnaithe" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Baineadh '${fullPathFile}'] curtha i gcrích." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Sliocht ar ceal" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Tá Sliocht '${fullPathFile}' curtha ar ceal ag an úsáideoir." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Pasfhocal ag teastáil le haghaidh ${filename}]" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Earráid le linn eastósctha" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Comhaid a chomhbhrú isteach '${outputFile}']" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Comhbhrúite curtha i gcrích" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Comhaid a chomhbhrú isteach '${outputFile}'] curtha i gcrích." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Comhbhrú ar ceal" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "An comhad aschur '${outputFile}' ann cheana féin." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" +"Comhaid Compressing isteach '${outputFile}'] curtha ar ceal ag an úsáideoir." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Earráid le linn comhbhrú" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Cruthaigh cartlainne" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Ainm na háite" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Post a fhógairt" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Tréimhse saoil: ilbhliantúil" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Ag luí leis na córais oibriúcháin go léir." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Pasfhocal cosanta .zip, Ní mór a shuiteáil ar Windows agus Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Cartlainne níos lú ach Linux agus Mac amháin." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Cartlainne níos lú ach ní mór iad a shuiteáil ar Windows agus Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Is é an Deasc Taispeáin inscríofa ag daoine eile" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"Ní féidir .deskop comhaid a sheoladh ón Deasc mar go bhfuil an Fillteán " +"Deasc inscríofa ag úsáideoirí eile.\n" +"\n" +"Seiceáil na ceadanna an Fillteán Deasc, agus déan cinnte nach bhfuil sé " +"inscríofa ag daoine eile." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Broken Deisce Comhad" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Tá an comhad .desktop earráidí nó pointí le clár gan ceadanna. Ní féidir é a " +"fhorghníomhú.\n" +"\n" +"Edit an comhad a shocrú ar an gclár executable ceart." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Ceadanna Marcáilte ar Deisce Comhad" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Tá Ceadanna míchearta ag an gcomhad Deasc seo." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Deisce Comhad Neamhiontaofa" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Níl an comhad Deasc muiníneach seo, ní féidir é a sheoladh." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Níorbh fhéidir a oscailt Déan Teagmháil Linn" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} Ní féidir le comhaid oscailte den chineál seo!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Seirbhís do Chustaiméirí Athrú Failed" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Is é an Fillteán Deasc nua Nasc siombalach" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Ní dhéanann an Fillteán Deasc nua ann nó nach Fillteán é!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Cliceáil grianghraf a mhéadú" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Ag athrú go deasc nua..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Seirbhís do Chustaiméirí" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Déan Teagmháil Linn" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Cuir giuirléid leis" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Monatóireacht a dhéanamh ar Fráma Buffer Níl Scaling chumas" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Monatóireacht a dhéanamh ar Il le suímh súmáil éagsúla, a mholadh in aghaidh " +"monatóireacht a dhéanamh ar scaling framebuffer.\n" +"\n" +"Cuir ar chumas i Socruithe Dconf Mutter" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Monatóireacht il le suímh súmáil éagsúla.\n" +"\n" +"Cumasaigh in aghaidh monatóireacht a dhéanamh ar scálú fráma i Socruithe " +"Dconf Mutter?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Cumasaigh" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "An féidir Ní Taispeáin an Deasc" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Is é an fillteán Deasc {desktop}] Nasc siombalach\n" +"\n" +"Socraigh an Fillteán Deasc le Fillteán fíor" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Níl an fillteán Deasc {desktop}] ann, nó nach bhfuil Eolaire\n" +"\n" +"Seiceáil do xdg-utils shuiteáil agus a leagtar an Fillteán ceart Deasc" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "Seirbhís do Chustaiméirí Comhaid nach bhfuarthas" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "" +"An GNOME Tá iarratais Comhaid ag teastáil ag Gtk4 Desktop deilbhíní NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Níl aon Bhainisteoir Comhad réamhshocraithe" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Níl aon iarratas a láimhseálann mimetype \"inode / eolaire\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Níl Comhaid Gnome cláraithe mar Bhainisteoir Comhad" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Níl an t-iarratas Comhaid Gnome cláraithe chun Fillteáin a oscailt!\n" +"Seiceáil do shuiteáil xdg-utils\n" +"Seiceáil Comhaid Gnome .desktop Suiteáil comhad" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Rogha reatha soiléir roimh chuardach nua" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Aimsigh Comhaid ar Deasc" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Seirbhís do Chustaiméirí" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Fillte Creation Failed" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Níorbh fhéidir a chruthú fillteán" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Ní féidir a oscailt Deasc i Comhaid Gnome" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Tá Preferences Fuinneog Oscailte" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Tá an Fuinneog oscailte. Téigh go dtí an fhuinneog gníomhach." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "An tSraith Shinsearach" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Plean Gníomhaíochta don Oideachas" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Níorbh fhéidir doiciméad a chruthú" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Ainm an ainm" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Ainm Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Am Athraithe" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Cineál" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Méid an Méid" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Coinnigh Socraigh.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Coinnigh Stack de réir Cineál.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Baile Sórtáil / Drives / Airgead Tirim.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Cliceáil grianghraf a mhéadú" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Déan teagmháil Linn" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Deisce Socruithe Icon" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Amharc ar gach eolas" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Eolas faoin Aontas" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Taiseachas aeir: fliuch" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Rinne sé" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Taiseachas aeir: fliuch" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Roghnaigh gach rud" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Inis dúinn, le do thoil.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Socraigh De réir.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Taispeáin Deasc I {0}]" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Oscailte i {0}]" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Cuir giuirléidí in eagar" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell Roghchlár.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Ag déanamh SymLink Failed" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Níorbh fhéidir a chruthú nasc siombalach" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Cóip / Bog Failed" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0}] Nach bhfuil ann" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Roghnaigh Gníomh le haghaidh Comhaid" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Taiseachas aeir: fliuch" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Cóip Uaireadóirí Cóip" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Naisc ábhartha eile" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Seirbhís do Chustaiméirí" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Déan Teagmháil Linn" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Oscailt Comhad Failed" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Níl aon iarratas suiteáilte a oscailt \"{fo}\" comhaid." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Fillteán nua le {0} mír bronntanas" +msgstr[1] "Fillteán nua le {0} mír bronntanas" +msgstr[2] "Fillteán nua le {0} mír bronntanas" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Gach Oscailte..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Seoladh an tSuímh" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Oscailte le {foo}]" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Oscailt Oscailte" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Sliocht anseo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "An bhfuil a fhios agat..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Oscail Le..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Oscail Gach Le Iarratas Eile..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Seoladh ag baint úsáide as Cárta Grafaic Comhtháite" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Stack an Cineál" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Níl an Tweet seo ar fáil" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Rith mar Chlár" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Scripteanna" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Gearradh" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Bog go..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Cóipeáil go..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Athainmniú.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Cruthaigh Nasc..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Compress {0} fillteán]" +msgstr[1] "Compress {0} fillteán]" +msgstr[2] "Compress {0} fillteán]" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Compress {0} comhad" +msgstr[1] "Compress {0} comhad" +msgstr[2] "Compress {0} comhad" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Ríomhphost chuig..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Seol chuig Gléas Soghluaiste" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Bog chuig Bruscar" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Scrios go buan" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Ná Ceadaigh Seoladh" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Bruscar Folamh" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Instealladh" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Suimeanna nach mó" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Amharc ar gach eolas" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Díroghnaigh gach rud" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Taispeáin Gach i {0}]" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Taispeáin i {0}]" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Oscailte i {0}]" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Mír oscailte" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Sliocht Cealaigh" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Ní féidir sliocht a bhaint Comhad, aon fillteán scríbe" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Roghnaigh Scríbe" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Roghnaigh gach rud" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Ní féidir ríomhphost Eolaire" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Áirítear Roghnú Eolaire, compress le .zip comhad ar dtús?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Clár na dToghthóirí" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Ní féidir a fháil ordú zip, le do thoil a shuiteáil ar an gclár" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Bhí an t-eolas úsáideach" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Bhí earráid a chruthú cartlann zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Ní féidir a fháil xdg-ríomhphost, le do thoil a shuiteáil ar an gclár" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Bhí earráid i r-phost Comhaid" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "An féidir Ní oscailt an Eolaire Oibre" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Ní féidir a oscailt i Gnome Console" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Le do thoil Suiteáil Console Gnome nó Clár Críochfort eile" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Ní féidir a oscailt {0}]" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Cuir Suiteáil {0}]" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Cóipeáil Cealaigh" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Unable a chóipeáil Comhaid, aon fillteán scríbe" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Bog Cealaigh" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Unable chun Comhaid a bhogadh, aon fillteán scríbe" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "Ní féidir $appName $ comhaid oscailte den chineál seo!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Console" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Gearradh réamhshocraithe:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Cineál nua..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modifier + Eochair (m.sh. Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Athshocrú go Réamhshocrú" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Uimh Luasaire" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Amharc ar gach eolas" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Amharc ar gach eolas" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Gearáin agus Cur i bhFeidhm" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Amharc ar gach eolas" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Amharc ar gach eolas" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Amharc ar gach eolas" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Seirbhís do Chustaiméirí" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Amharc ar gach eolas" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Athshocraigh gach shortcuts chun lochtanna" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Athshocraigh Gach..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Taispeáin Deasc i Comhaid" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Oscailte i gCríochfort" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Amharc ar gach eolas" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Socruithe Taispeáin Athrú" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Athrú Socruithe Deisce Icon" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Glan suas deilbhíní" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Coinnigh Socraigh" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Coinnigh Stacked" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Seirbhís do Chustaiméirí" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Icons Socraigh de réir Ainm" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Inis dúinn, le do thoil.." + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Icons Socraigh De réir Athraithe Am" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Inis dúinn, le do thoil... De réir Cineál" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Sorcas De réir Méid" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Aimsigh Comhaid" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Déan Teagmháil Linn" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Taispeáin Comhaid i bhfolach" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Díroghnaigh gach rud" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Réamhamhairc" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Cuir giuirléid leis" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Roghnaigh Clé deilbhín" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Roghnaigh Ceart deilbhín" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Roghnaigh Scon Suas" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Roghnaigh an Dúin" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Taispeáin Roghchlár" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Taispeáin Shell Cúlra Roghchlár" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Cruthaigh Deisce Gearradh" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Téacs Iontráil ccels Cas ar" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Iontráil Téacs casadh Off" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Féach ar Léarscáileanna Féach ar" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Taispeáin Nó Folaigh Desktop deilbhíní" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Tuilleadh eolais" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Baile Átha Cliath" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Bruscar" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Stack" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Nasc Broken" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Ní féidir a oscailt an Comhad toisc go bhfuil sé Symlink Broken" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Tiomána" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Tosaíochtaí" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Úsáideoir" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Ceadaigh" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Dian" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Suaimhneach" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Forbairt" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Réamhshocrú" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Ordú:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Tosaíochtaí" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" nach bhfuil ar fáil" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Suiteáil \"${programName}\" chun cur ar chumas deilbhíní Deasc a dhéanamh ar " +"na gníomhartha." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Cliceáil grianghraf a mhéadú" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Ordú nach bhfuarthas" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Roghnaigh app a oscailt na comhaid roghnaithe." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Úsáid i gcónaí don chineál comhaid seo" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "Déan teagmháil linn" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "Maidir" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Taispeáin deilbhíní ar an GNOME deisce" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"deisce;icons; comhaid; fillteáin; bainisteoir; raon; hide; seó; " +"seoladh;gearrtha;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Taispeáin níos mó" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Tosaíochtaí" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Díroghnaigh gach rud" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Méid an deilbhín" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Socraigh an méid do na deilbhíní deisce." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Taispeáin fillteán pearsanta" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Taispeáin an fillteán pearsanta sa deasc." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Taispeáin bruscar" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Taispeáin an deilbhín bruscar sa deasc." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Nua deilbhíní tús cúinne" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Socraigh an choirnéal ón áit a dtosóidh na deilbhíní a chur." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Taispeáin thiomáineann seachtracha sa deasc" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Taispeáin thiomáineann an diosca ceangailte leis an ríomhaire." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Taispeáin thiomáineann líonra sa deisce" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Taispeáin suite toirt líonra sa deisce." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Cuir thiomáineann nua leis an taobh eile den scáileán" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Nuair a thiomáineann agus méideanna a chur leis an deisce, iad a chur leis " +"an taobh eile den scáileán." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Taispeáin dronuilleog san áit scríbe le linn DnD" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Agus é ag déanamh oibríocht Drag'n'Drop, marcanna an áit sa ghreille ina " +"mbeidh an deilbhín a chur le dronuilleog leaththrédhearcach." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Fillteáin Speisialta Sórtáil - Tiomántáin Baile / Airgid." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Nuair a shocrú deilbhíní ar deisce, a shórtáil agus a athrú ar an seasamh an " +"Baile, Bruscar agus suite Líonra nó Tiomántáin Seachtracha" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Coinnigh deilbhíní Socraigh" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "" +"I gcónaí a choinneáil deilbhíní Arna eagrú ag an ordú deireanach socraithe" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Naisc go dtí suíomhanna eile" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Sáraíonn an mhaoin seo" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Coinnigh deilbhíní" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "" +"I gcónaí a choinneáil deilbhíní Stacked, cineálacha den chineál céanna a " +"ghrúpáil" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Cineál Comhaid nach Stack" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "An Array de chineálacha teaghráin, Ná Stack na cineálacha comhaid" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Cuir feathal le naisc" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Cuir feathal chun ligean naisc bhoga a aithint." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Bain úsáid as dubh le haghaidh téacs lipéad" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Paint an téacs lipéad i dubh in ionad bán. Úsáideacha nuair a úsáid chúlraí " +"solais." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "" +"Taispeáin deilbhíní nua ar mhonatóir neamh-bhunscoile má tá siad ceangailte" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Má tá an dara monatóireacht ceangailte, cuirtear deilbhíní nua ar an " +"monatóireacht neamh-bhunscoile" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Is féidir deilbhíní a chur in áit ar bith ar Deasc" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Níl deilbhíní ar ghreille dronuilleogach ach is féidir iad a phostáil in áit " +"ar bith neamhspleách ar ghreille" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Giuirléidí deisce" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Folaigh / Taispeáin gach fuinneog deisce" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Taispeáin na deilbhíní ar an deasc, nó iad a cheilt go léir" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Amharc ar gach eolas" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" +"Override le haghaidh aicearraí iarratas réamhshocraithe leagtha ag an " +"Úsáideoir" diff --git a/ding/po/gl.po b/ding/po/gl.po new file mode 100644 index 0000000..84c211c --- /dev/null +++ b/ding/po/gl.po @@ -0,0 +1,2076 @@ +# Galician translations for gtk4-ding package. +# Copyright (C) 2025 THE gtk4-ding'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Automatically generated, 2025. +# +# Weblate , 2025, 2026. +# Weblate Translation Memory , 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-20 21:36+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Galician \n" +"Language: gl\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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Sobreescribir" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Shortcuts" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Editando Shortcuts." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Editar aplicación Shortcuts" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Shortcuts Só se pode editar cando a extensión ..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Axuda a traducir no teu navegador web" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Escritorio" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Arquivos" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Tweak" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Máis" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Configuración de escritorio" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Configuración do programa de escritorio" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Desktop Folder" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Escritorio actual:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Configuración de arquivos" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Configuración compartida con ficheiros Gnome" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Misceláneos Tweak" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Tamaño das iconas de escritorio" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Tiny" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Pequeno" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Estándar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Grande" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Aliñación de iconas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Arriba á esquerda" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Arriba á dereita" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Parte inferior esquerda" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Parte inferior dereita" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Engadir iconas aos monitores secundarios, se está dispoñible" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Snap icons para a rede" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "Mostrar escritorio en arquivos" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Novo Desktop Folder" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Configurar un novo cartafol para o escritorio" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Escoller" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Configurar o escritorio de volta a ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Restaurar o cartafol de escritorio por defecto" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Restaurar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Baixar drop grid" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Engadir emblemas de información para enlaces, cifrado" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Usar texto escuro en etiquetas de iconas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Mostrar o cartafol persoal no escritorio" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Mostrar a icona do lixo no escritorio" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Mostrar unidades externas no escritorio" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Mostrar as unidades de rede no escritorio" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Engadir novas unidades ao lado oposto do escritorio" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Acción para abrir artigos" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Só click" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Doble click" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Mostrar miniaturas de imaxes" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Sempre" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Só neste ordenador" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Nunca nunca nunca" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Mostrar un elemento de menú de contexto para borrar permanentemente" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Mostrar ficheiros ocultos" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Abrir carpetas en drag hover" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Sobre..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Tradución" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "Traducida por LibreTranslate. Usuario verificado e editado en Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Editar traducións" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Comprobar, engadir ou corrixir a tradución no seu navegador web" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Traducir" + +# MT: LibreTranslate +#: app/appChooser.js:78 +#, fuzzy +msgid "Choose an application to open {foo}" +msgstr "out {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Artigos abertos" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Open Folder" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Open File" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Erro no cambio de aplicación por defecto" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Permisos inválidos no ficheiro de imaxe" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Este ficheiro ten permisos incorrectos." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Fai clic para editar as propiedades, entón:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Establecer permisos, en" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Outros accesos" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Ler só" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "ou" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Ningunha" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Permitir opción" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Permitir executar arquivos como programa" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Ficheiro de imaxe non fiable" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Esta app O ficheiro de imaxe non é de fiar, non pode ser lanzado." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Para activar o botón dereito, logo:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "permitir" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Permitir o lanzamento" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Nome Folder" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Nome do ficheiro" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "OK" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Renomeado" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Auto Ar non está instalado" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Para poder traballar con ficheiros comprimidos, instalar ficheiros-roller " +"e / ou gir-1.2-gnome. AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Extraer arquivos" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Compresiva ficheiros" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Cancelar" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Introduce un contrasinal aquí" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Borra o ficheiro parcial '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Creación de carpetas de destino" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Extraer arquivos en '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Extracción finalizada" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "'${fullPathFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Extracción cancelada" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "out '${fullPathFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Erro durante a extracción" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Introdución de ficheiros en '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Compresión finalizada" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "" +"O son da banda baséase no '${outputFile}', [[Musica latina|ritmos latinos]]." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Compresión cancelada" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "O ficheiro de saída '${outputFile}' xa existe." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "O usuario cancelou os ficheiros en '${outputFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Erro durante a compresión" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Crear arquivo" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Arquivo Nome" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Contrasinal" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Crea" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Compatible con todos os sistemas operativos." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "O contrasinal protexido .zip debe instalarse en Windows e Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Pequenos arquivos, só Linux e Mac." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Os arquivos máis pequenos deben ser instalados en Windows e Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "O escritorio amosado é repugnante por outros" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"Os ficheiros .deskop non poden ser lanzados desde este escritorio xa que o " +"Folder de escritorio é axeitado para outros usuarios.\n" +"\n" +"Por favor, comprobe os permisos deste cartafol de escritorio e asegúrese de " +"que non é incorrecto por outros." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Broken Desktop File" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Este ficheiro ten erros ou puntos nun programa sen permisos. Non se pode " +"executar.\n" +"\n" +"Editar o ficheiro para definir o programa executable correcto." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Permisos non válidos no ficheiro de escritorio" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Este ficheiro de escritorio ten permisos incorrectos." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Ficheiro de escritorio non fiable" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Este ficheiro de escritorio non é fiable, non pode ser lanzado." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Non podía abrir Arquivo" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "out {appName}" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Desktop Folder Cambio fallido" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "O novo cartafol de escritorio é unha ligazón simbólica" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "O novo cartafol de escritorio non existe ou non é un cartafol!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Desktop Folder cambiou" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Mudar ao novo escritorio." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Desktop Icons" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Actualización de escritorio" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Engadir trebello" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Comentarios en Frame Buffer Non está permitido escalar" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Múltiples monitores con diferentes opcións de zoom, recomenda por monitor " +"framebuffer escalando.\n" +"\n" +"Por favor, activa a configuración Mutter Dconf" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Múltiples monitores con diferentes opcións de zoom.\n" +"\n" +"Activar por monitor framebuffer escalando en Mutter Dconf Configuración?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Habilitar" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Non se pode mostrar o escritorio" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"O cartafol de escritorio {desktop} é un enlace simbólico.\n" +"\n" +"Por favor, coloque o cartafol de escritorio para un cartafol real" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"O cartafol de escritorio {desktop} non existe ou non é un directorio.\n" +"\n" +"Comprobe a instalación de xdg-utils e configure o cartafol de escritorio " +"correcto" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME Ficheiros non atopados" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "" +"O GNOME A aplicación de ficheiros é necesaria por Gtk4 Desktop Icons NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Non hai administrador de ficheiros por defecto" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Non hai ningunha aplicación que trate de \"inode/directorio\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Os ficheiros Gnome non están rexistrados como xestor de ficheiros" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"A aplicación Gnome Files non está programada para abrir cartafoles.\n" +"Comproba a túa instalación xdg-util\n" +"Ver arquivos .desktop Instalación de ficheiros" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Borrar a selección actual antes da nova busca" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Atopar ficheiros no escritorio" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Novo Folder" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Fracaso da creación" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Non se pode crear cartafol" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Non se pode abrir o escritorio en ficheiros Gnome" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "A fiestra de preferencias está aberta" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Esta ventana está aberta. Por favor, cambie á ventá activa." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Configuración" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Modelo erro de creación" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Non se pode crear un documento" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Nome" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Nome Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Tempo modificado" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Tipo" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Tamaño" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Sigue organizando.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Seguen a ser expulsados polo tipo.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Home/Actividades/Trash.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Cambiar escritorio" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Restaurar o escritorio por defecto" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Configuración de Icon Desktop" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Mostrar atallos" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Novo documento" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Paste" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Undo" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Redo" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Seleccionar todo" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Arrange Icons" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Ordenar por.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "{0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Dispoñible en {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Editar widgets" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell Menu" + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "SymLink falla" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Non se pode crear unha ligazón simbólica" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Copy/Move fallido" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} Non existe" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Escolla acción para arquivos" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Move" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Copia" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Link" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Folder" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Arquivo" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "O ficheiro de apertura fallou" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "out \"{fo}\"" + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "{0} item" +msgstr[1] "{0} item" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Aberto todo..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Lanzamento" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Dispoñible en {foo}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Aberto" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Extraer aquí" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Extraer para..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Abrir con..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Abre todo con outra aplicación." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Introdución á Tarxeta Gráfica Integrada" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Este tipo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Desmontar este tipo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Corre como programa" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Guións" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Cut" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Move a ..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Copiar para..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Renomear.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Creando enlaces..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "{0}" +msgstr[1] "{0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Compoñentes {0}" +msgstr[1] "Compoñentes {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Email para..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Enviar ao dispositivo móbil" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Traslado a Trash" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Eliminar permanentemente" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Non permitas o lanzamento" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Trasno baleiro" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Ejercicio" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Unmount" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Propiedades comúns" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Propiedades" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Pronunciación de ] {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Dispoñible en {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Elemento aberto" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Extracción cancelada" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Incapaz de extraer Ficheiro, sen cartafol de destino" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Seleccione destino" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Seleccione" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Non se pode enviar un directorio" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "" +"A selección inclúe un directorio, primeiro comprimido a un ficheiro .zip?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Erro de correo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Non se pode atopar o comando zip, por favor instalar o programa" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Arquivo.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Produciuse un erro ao crear un arquivo zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Non é posible atopar o correo xdg, por favor instalar o programa" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Houbo un erro no envío de ficheiros" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Non se pode abrir o directorio" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Non se pode abrir en GNOME" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Por favor instalar Gnome Console ou outro terminal" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Dispoñible en {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Por favor, introduza {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Copia cancelada" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Incapaz de copiar ficheiros, ningún cartafol de destino" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Movemento cancelado" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Incapaz de mover ficheiros, ningún cartafol de destino" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName non pode abrir ficheiros deste tipo!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Consola" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Shortcut por defecto:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Tipo novo..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modificador + tecla (p.ex. Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Restablecer por defecto" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Ningún acelerador" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Sistema de atallos" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Sistema Común definido Keyboard Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Shortcuts locais" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Aplicación Keyboard Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Shortcuts globais" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Keyboard Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Teclado Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Restaurar cortes" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Restablece todos os atallos a defectos" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Restaurar todo ..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Mostrar escritorio en arquivos" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Abrir na terminal" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Cambio de fondo" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Cambiar configuración de visualización" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Cambiar configuración de escritorio Icon" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Limpar iconas" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Mantéñase arranxado" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Mantéñase empilhado" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Ordenar carpetas especiais" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Arrange Icons por nome" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Arrange Icons por baixo nome" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Iconas ordenadas por tempo modificado" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Arrange Icons por Kind" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Iconas por tamaño" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Buscar ficheiros" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Actualización de escritorio" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Mostrar ficheiros ocultos" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Seleccionar todo" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Previsualización" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Engadir trebello" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Seleccione Icon Left" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Escolla Icon dereita" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Seleccione Icon Up" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Baixar Icon Down" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Mostrar menú" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Mostrar o menú de fondo de Shell" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Baixar Desktop Shortcut" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Entrada de texto Acels Turn On" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Entrada de texto Accels Turn Off" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Espectáculo Shortcut Viewer" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Mostrar ou ocultar Iconas de escritorio" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Máis información" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Home" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Trash" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Stack" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Link roto" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Non se pode abrir este ficheiro porque é unha ligazón rota" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Drive" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Preferencias" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Usuario" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Permitir" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Estrito" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Relaxado" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Desenvolvemento" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Predeterminado" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Orde:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Preferencias" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" Non está dispoñible" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Instala \"${programName}\" para activar os Icons de escritorio para realizar " +"estas accións." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Escoller Desktop Folder" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Comando non atopado" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Seleccione unha aplicación para abrir os ficheiros seleccionados." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Use sempre para este tipo de ficheiro" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "-Cancel" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "-Abrir" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Mostrar iconas no escritorio GNOME" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "|data de nacemento = [[5 de setembro]] de [[1638]];" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Mostrar , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "" + +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "" + +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "" + +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "" + +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "" + +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "" + +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "" + +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "" + +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "" + +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "" + +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "" + +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "" + +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "" + +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "" + +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "" + +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "" + +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "" + +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "" + +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" + +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "" + +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "" + +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "" + +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "" + +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "" + +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "" + +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "" + +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "" + +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "" + +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "" + +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "" + +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "" + +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "" + +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "" + +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" + +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "" + +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "" + +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "" + +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "" + +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "" + +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "" + +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "" + +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "" + +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "" + +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "" + +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "" + +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "" + +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "" + +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "" + +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "" + +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "" + +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "" + +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "" + +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "" + +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "" + +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "" + +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "" + +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" + +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "" + +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "" + +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "" + +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "" + +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "" + +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "" + +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "" + +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "" + +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "" + +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "" + +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "" + +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "" + +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "" + +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "" + +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "" + +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "" + +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "" + +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" + +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "" + +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "" + +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "" + +#: app/autoAr.js:608 +msgid "Password" +msgstr "" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "" + +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "" + +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "" + +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "" + +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "" + +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "" + +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "" + +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "" + +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "" + +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "" + +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "" + +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "" + +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "" + +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "" + +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "" + +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "" + +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "" + +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "" + +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "" + +#: app/desktopGrid.js:2584 +msgid "Back to Desktop" +msgstr "" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "" + +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "" + +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" + +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" + +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "" + +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" + +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "" + +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "" + +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "" + +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "" + +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "" + +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" + +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "" + +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "" + +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "" + +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "" + +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "" + +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "" + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "" + +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "" + +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "" + +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "" + +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "" + +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "" + +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "" + +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "" + +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "" + +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "" + +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "" + +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "" + +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "" + +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "" + +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "" + +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "" + +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "" + +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "" + +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "" + +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "" + +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "" + +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "" + +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "" + +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "" + +#: app/dragManager.js:792 +msgid "Move" +msgstr "" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "" + +#: app/dragManager.js:792 +msgid "Link" +msgstr "" + +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "" + +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "" + +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "" + +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "" + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "" +msgstr[1] "" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "" + +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "" + +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "" + +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "" + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "" + +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "" + +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "" + +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "" + +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "" + +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "" + +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "" + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "" + +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "" + +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "" +msgstr[1] "" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "" +msgstr[1] "" + +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "" + +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "" + +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "" + +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "" + +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "" + +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "" + +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "" + +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "" + +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "" + +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "" + +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "" + +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "" + +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "" + +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "" + +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "" + +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "" + +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "" + +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "" + +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "" + +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "" + +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "" + +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "" + +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "" + +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "" + +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "" + +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "" + +#: app/preferences.js:1078 +msgid "Console" +msgstr "" + +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "" + +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "" + +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "" + +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "" + +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "" + +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "" + +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "" + +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "" + +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "" + +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "" + +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "" + +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "" + +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "" + +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "" + +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "" + +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "" + +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "" + +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "" + +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "" + +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "" + +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "" + +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "" + +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "" + +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "" + +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "" + +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "" + +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "" + +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "" + +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "" + +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "" + +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "" + +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "" + +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "" + +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "" + +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "" + +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "" + +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "" + +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "" + +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "" + +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "" + +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "" + +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "" + +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "" + +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "" + +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "" + +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "" + +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "" + +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "" + +#: app/widgetManager.js:1564 +msgid "Widget preferences" +msgstr "" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +#: app/widgetWebContext.js:187 +msgid "Widget Preferences" +msgstr "" + +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "" + +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" + +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "" + +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "" + +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "" + +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "" + +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "" + +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "" + +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" + +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "" + +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "" + +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" diff --git a/ding/po/he.po b/ding/po/he.po new file mode 100644 index 0000000..9fd3555 --- /dev/null +++ b/ding/po/he.po @@ -0,0 +1,2039 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Omer I.S. , 2021. +# Weblate , 2023, 2024, 2025, 2026. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# LibreTranslate , 2023, 2024. +# "Omer I.S." , 2025, 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:09+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Hebrew \n" +"Language: he\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) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "עקיפה" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "התאמה אישית של מראה הסמלים בשולחן העבודה עם CSS" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "אזהרה: פעולה זו עלולה להרוס את פעילות ההרחבה אם לא תיעשה בצורה נכונה" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "החלת השינויים ב־CSS כעת" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "טעינה מחדש של תצורת ה־CSS להחלה מיידית של השינויים" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "קיצורי דרך" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "עריכת קיצורי דרך..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "עריכת קיצורי דרך ליישומים" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "ניתן לערוך קיצורי מקשים רק כאשר ההרחבה מופעלת..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "עזרו לנו לשפר את התרגום מדפדפן האינטרנט שלכם" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "שולחן העבודה" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "קבצים" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "התאמות" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "עוד" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "הגדרות שולחן העבודה" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "הגדרות לתוכנית שולחן העבודה" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "תיקיית שולחן העבודה" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "שולחן העבודה הנוכחי: " + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "הגדרות קבצים" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "הגדרות משותפות עם „קבצים” מבית GNOME" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "התאמות שונות" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "גודל הסמלים בשולחן העבודה" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "פצפון" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "קטן" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "רגיל" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "גדול" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "יישור סמלים חדשים" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "פינה שמאלית עליונה" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "פינה ימנית עליונה" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "פינה שמאלית תחתונה" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "פינה ימנית תחתונה" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "הוספת סמלים חדשים לצגים המשניים תחילה, אם הם זמינים" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "הצמדת הסמלים לרשת" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "וידג׳טים לסביבת שולחן העבודה" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "שולחן עבודה חדש" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "הגדרת תיקייה חדשה להצגה במקום תיקיית שולחן העבודה" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "בחירה" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "הגדר את שולחן העבודה בחזרה ל-" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "שחזור לתיקיית ברירת המחדל של שולחן העבודה" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "שחזור" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "הדגשת הרשת לשחרור קבצים" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "הוספת סימני מידע עבור קישורים, הצפנה" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "שימוש בטקסט כהה לתוויות הסמלים" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "הצגת התיקייה האישית בשולחן העבודה" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "הצגת סמל האשפה בשולחן העבודה" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "הצגת כוננים חיצוניים בשולחן העבודה" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "הצגת כונני רשת בשולחן העבודה" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "הוספת כוננים חדשים לצד הנגדי של שולחן העבודה" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "פעולה לפתיחת פריטים" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "לחיצה יחידה" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "לחיצה כפולה" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "הצגת תמונות מממוזערות" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "תמיד" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "במחשב זה בלבד" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "אף פעם" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "הצגת אפשרות בתפריט ההקשר למחיקה לצמיתות" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "הצגת קבצים מוסתרים" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "פתיחת תיקיות בעת גרירה וריחוף מעליהן" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "על אודות..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "תרגום" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "מכונה מתורגם באמצעות Libreתרגםe. המשתמש מאומת וערוך ב-Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "תרגום" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "אימות, הוספה או תיקון של תרגומים דרך דפדפן האינטרנט" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "תרגום" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "נא לבחור יישום לפתיחת {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "פתיחת פריטים" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "פתיחת תיקייה" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "פתיחת קובץ" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "שגיאה בהחלפת יישום ברירת המחדל" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "שגיאה במהלך הגדרת {foo} כיישום ברירת המחדל עבור {mimetype}" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Invalid Permissions on App Image File" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "לקובץ AppImage יש הרשאות שגויות." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Click to Edit Properties, אז:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "המונחים: in" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "אחרים Access" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "קרא רק" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "או" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "ללא" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "אפשרות אפשרית" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "לאפשר להוצאה להורג כתוכנית" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "File" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "אפליקציה זו קובץ תמונה אינו אמין, הוא לא יכול להיות משוגר." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "כדי לאפשר שיגור, לחץ נכון, אז:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "מאפשר" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "לאפשר הפעלה" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "שם התיקייה" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "שם הקובץ" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "אישור" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "שינוי שם" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "‏AutoAr אינו מותקן" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"בשביל שיהיה אפשר לעבוד עם קבצים דחוסים, נא להתקין את file-roller ו/או " +"gir-1.2-gnomeAutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "הקבצים מחולצים" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "הקבצים נדחסים" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "ביטול" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "נא להקליד כאן סיסמה" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "מוסר הקובץ החלקי '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "נוצרת תיקיית היעד" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "הקבצים מחולצים אל '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "החילוץ הושלם" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "הושלם חילוץ '${fullPathFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "החילוץ בוטל" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "חילוץ '${fullPathFile}' בוטל על ידי המשתמש." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "נדרשת סיסמה עבור ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "שגיאה במהלך החילוץ" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "הקבצים נדחסים אל '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "הדחיסה הושלמה" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "הושלמה דחיסת הקבצים אל '${outputFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "הדחיסה בוטלה" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "קובץ הפלט '${outputFile}' כבר קיים." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "דחיסת הקבצים אל '${outputFile}' בוטלה על ידי המשתמש." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "שגיאה במהלך הדחיסה" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "יצירת ארכיון" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "שם הארכיון" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "סיסמה" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "לִיצוֹר" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "תואם לכל מערכות ההפעלה." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "קובץ .zip מוגן בסיסמה, אמור להיות מותקן ב־Windows ו־Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "ארכיונים קטנים יותר אך תואמים ללינוקס ו־Mac בלבד." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "ארכיונים קטנים יותר אך אמורים להיות מותקנים ב־Windows ו־Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "שולחן העבודה המוצג הוא עצבני על ידי אחרים" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"לא ניתן לפתוח קובצי .desktop מתיקיית שולחן עבודה זו מכיוון שמשתמשים אחרים " +"יכולים לערוך אותה.\n" +"\n" +"נא לוודא שאין לשאר המשתמשים הרשאה לערוך את התיקייה." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "קובץ פגום של רשומת שולחן העבודה" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"לקובץ .desktop זה יש שגיאות או שהוא מוביל לתוכנית ללא הרשאות. לא ניתן להפעיל " +"אותו.\n" +"\n" +"נא לערוך את הקובץ ולהגדיר את התוכנית הנכונה להפעלה." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "הרשאות לא תקניות בקובץ רשומת שולחן העבודה" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "לקובץ שולחן העבודה יש הרשאות שגויות." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "קובץ רשומת שולחן עבודה שלא ניתן בו אמון" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "קובץ שולחני זה אינו אמין, הוא לא יכול להיות משוגר." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "לא היה ניתן לפתוח את הקובץ" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "out {appName}" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "נכשלה החלפת התיקייה לשולחן העבודה" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "התיקייה החדשה בשולחן העבודה היא קישור סימבולי" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "תיקיית שולחן העבודה החדשה אינה קיימת או שאינה תיקייה!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "תיקיית שולחן העבודה השתנתה" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "מתבצע מעבר לשולחן העבודה החדש..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "סמלים בשולחן העבודה" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +msgid "Back to Desktop" +msgstr "חזרה לשולחן העבודה" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +#, fuzzy +msgid "Toggle Widget Grid" +msgstr "הפעלת/כיבוי שכבת יישומונים" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "הוספת וידג׳ט" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +#, fuzzy +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Monitor Frame Buffer Scaling is not enabled" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +#, fuzzy +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"מספר צגים עם הגדרות זום שונות.\n" +"\n" +"האם ניתן לפקח על מסגרת דרוג הגדרות Mutter DCOP?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "הפעלה" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "לא ניתן להציג את שולחן העבודה" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"תיקיית שולחן העבודה {desktop} היא קישור סימבולי\n" +"\n" +"נא לשנות את הגדרת מיקום תיקיית שולחן העבודה לתיקייה אמיתית" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"תיקיית שולחן העבודה {desktop} אינה קיימת, או שאינה תיקייה.\n" +"\n" +"נא לבדוק התקנת xdg-utils במחשבך ולשנות את הגדרת מיקום תיקיית שולחן העבודה " +"לתיקייה הנכונה" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "לא נמצא יישום „קבצים” מבית GNOME" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "יישום „קבצים” מבית GNOME נחוץ לתוסף Gtk4 Desktop Icons NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "אין מנהל קבצים שמוגדר כברירת מחדל" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "אין יישום שתומך בסוג הקובץ „inode/directory”" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "יישום „קבצים” מבית GNOME אינו רשום בתור מנהל קבצים" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"יישום „קבצים” מבית GNOME לא מתוכנן לפתוח תיקיות!\n" +"נא לבדוק את התקנת xdg-utils במחשבך\n" +"נא לבדוק את תצורת קובץ ה־.desktop של „קבצים” מבית GNOME במחשבך" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "ניקוי הבחירה הנוכחית לפני חיפוש חדש" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "איתור קבצים בשולחן העבודה" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "תיקייה חדשה" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "יצירת התיקייה נכשלה" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "לא היה ניתן ליצור את התיקייה" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "אין אפשרות לפתוח את תיקיית שולחן העבודה ביישום „קבצים” מבית GNOME" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "חלון ההעדפות פתוח" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "חלון זה פתוח. נא לעבור לחלון הפעיל." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "הגדרות" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "שגיאה ביצירת התבנית" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "לא היה ניתן ליצור את המסמך" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "בסדר אלפביתי (א-ת)" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "בסדר אלפביתי (ת-א)" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "מועד השינוי האחרון" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "סוג" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "גודל" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "להשאיר מסודר…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "קיבוץ קבצים לפי סוג…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "מיון תיקיית הבית/כוננים/אשפה…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "שינוי שולחן העבודה" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "שחזור שולחן העבודה" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "הגדרות סמלים בשולחן העבודה" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "הצגת קיצורים" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "מסמך חדש" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "הדבקה" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "ביטול פעולה" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "ביצוע חוזר" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "לבחור הכול" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "סידור סמלים" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "סידור לפי…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "הצגת שולחן העבודה בתוך {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "פתיחה באמצעות {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "עריכת יישומונים…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "תפריט המעטפת…" + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "נכשלה יצירת הקישור הסימבולי" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "לא היה ניתן ליצור את הקישור הסימבולי" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "נכשלה ההעתקה/העברה" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "‏{0} לא קיים" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "נא לבחור פעולה לקבצים" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "העברה" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "העתקה" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "קישור" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "תיקייה" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "קובץ" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "פתיחת הקובץ נכשלה" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "אין צורך לפתוח קבצים \"{fo}\"." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "תיקייה חדשה עם פריט אחד" +msgstr[1] "תיקייה חדשה עם {0} פריטים" +msgstr[2] "תיקייה חדשה עם {0} פריטים" +msgstr[3] "תיקייה חדשה עם {0} פריטים" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "לפתוח הכול..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "הפעלה" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "פתיחה עם {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "פתיחה" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "חילוץ לכאן" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "חילוץ אל..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "פתיחה באמצעות..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "לפתוח הכול באמצעות יישום אחר..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "שיגור כרטיס גרפיקה משולב" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "קיבוץ סוג זה" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "ביטול הקיבוץ של הסוג הזה" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "הרצה כתוכנית" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "תסריטים" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "גזירה" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "העברה אל..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "העתקה אל..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "שינוי שם…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "יצירת קישור..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "דחיסת תיקייה אחת" +msgstr[1] "דחיסת {0} תיקיות" +msgstr[2] "דחיסת {0} תיקיות" +msgstr[3] "דחיסת {0} תיקיות" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "דחיסת קובץ {0}" +msgstr[1] "דחיסת {0} קבצים" +msgstr[2] "דחיסת {0} קבצים" +msgstr[3] "דחיסת {0} קבצים" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "שליחת דוא״ל אל..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "שליחה לנייד" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "העברה לאשפה" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "מחיקה לצמיתות" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "לא לאפשר הפעלה" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "פינוי האשפה" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "שליפה" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "ניתוק" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "מאפיינים נפוצים" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "מאפיינים" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "להציג הכול בתוך {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "הצגה בתוך {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "פתיחה באמצעות {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "פתיחת פריט" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "החילוץ בוטל" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "אין אפשרות לחלץ את הקובץ, אין תיקיית יעד" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "בחירת יעד" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "בחירה" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "לא ניתן לשלוח תיקייה בדוא״ל" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "הבחירה כוללת תיקייה, האם לדחוס לקובץ .zip תחילה?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "שגיאת דואר" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "אין אפשרות למצוא את הפקודה zip, נא להתקין את התוכנית" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "ארכיון.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "הייתה שגיאה ביצירת ארכיון zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "אין אפשרות למצוא את xdg-Mail, נא להתקין את התוכנית" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "הייתה שגיאה בשליחת הקבצים בדוא״ל" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "לא יכול לפתוח את מדריך העבודה" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "אין אפשרות לפתוח בשורת הפקודה של GNOME" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "נא להתקין את שורת הפקודה של GNOME או תוכנית מסוף אחרת" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "אין אפשרות לפתוח את {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "נא להתקין את {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "ההעתקה בוטלה" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "אין אפשרות להעתיק את הקבצים, אין תיקיית יעד" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "ההעברה בוטלה" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "אין אפשרות להעביר את הקבצים, אין תיקיית יעד" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ לא יכול לפתוח קבצים מסוג זה!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "שורת פקודה" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "קיצור ברירת מחדל:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "סוג חדש..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modifier + Key (למשל Ctrl + אלט + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "שחזור לברירת המחדל" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "אין קיצור מקשים" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "קיצורי מקשים של המערכת" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "קיצורי מקשים נפוצים של המערכת שהוגדרו על ידי המשתמש" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "קיצורים מקומיים" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "עקבו אחרי Keyboard Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "קיצורי מקשים כלל־מערכתיים" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "קיצורי מקשים של המערכת" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "קיצורי מקשים" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "איפוס קצר" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "שחזור כל קיצורי הדרך לברירת המחדל" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "איפוס הכל..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "הצג שולחן עבודה בקבצים" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "פתיחה במסוף" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "שינוי רקע" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "שינוי הגדרות תצוגה" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "שינוי הגדרות אייקון שולחן העבודה" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "עקבו אחרי Icons" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "עקבו" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "להשאיר מקובץ" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "מיון תיקיות מיוחדות" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "ארכיון תגיות: Name" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "ארכיון תגיות: Descending Name" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "ארכיון תגיות: Modified Time" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "סידור הסמלים לפי סוג" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "סמלים לפי גודל" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "איתור קבצים" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "עדכון שולחן העבודה" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "הצגת קבצים מוסתרים" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "ביטול הבחירה של הכול" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "תצוגה מקדימה" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "הפעלת/כיבוי שכבת יישומונים" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "הוספת וידג׳ט" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "בחר אייקון שמאל" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "בחר אייקון נכון" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "עקבו אחרי Icon Up" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "בחר אייקון למטה" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "הצגת התפריט" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "תגית: Shell menu" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "יצירת שולחן עבודה קצר" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "הודעות כניסה טקסט מסתובבות" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "הודעות כניסה טקסט הופכות" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "הצג קצר Viewer" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "הצגה או הסתרה של סמלים בשולחן העבודה" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "מידע נוסף" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "בית" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "אשפה" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "קִיבּוּץ" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "קישור שבור" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "לא ניתן לפתוח קובץ זה מכיוון שהוא מכיל קישור סימבולי שבור" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "כונן" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +msgid "Widget preferences" +msgstr "העדפות יישומונים" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "יישומון HTML" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "יישומון GTK" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "משתמש" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "לאפשר" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "נוקשה" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" +"היישומון פועל בסביבת רשת בתוך ארגז חול הדוק.\n" +"\n" +"• אין לסקריפטים ולתמוניות חיצוניים הרשאה לרוץ.\n" +"• הגישה לרשת מוגבלת לחיבורים מאובטחים (HTTPS) בלבד.\n" +"• היישומון מסוגל להפעיל רק את הקבצים הנחוצים לו ואת הקוד הפנימי שלו.\n" +"\n" +"זוהי האפשרות המאובטחת ביותר והיא מומלצת לרוב היישומונים." + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "רגוע" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "הִתפַּתְחוּת" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "ברירת מחדל" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" +"היישומון פועל במדיניות אבטחת רשת מוגדרת מראש.\n" +"\n" +"הגישה לרשת והיכולות האינטרנטיות מוגבלות בהתאם למדיניות הפעילה." + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "לאפשר ליישומון {widgetId] להציג תוכן מהרשת?" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" +"היישומון שרצית להוסיף עשוי לטעון תוכן מהרשת.\n" +"\n" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" +"ליישומון זה, {widgetId}, יש תהליך רקע שפועל במחשבך.\n" +"\n" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "המנגנון פועל עם הרשאות המשתמש הרגיל שלך, כמו כל יישום אחר שמופעל.\n" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" +"יש לו גישה לקבצים שלך, למשאבי המערכת ולרשת האינטרנט בהתאם להרשאות חשבון " +"המשתמש שלך.\n" +"\n" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr ":פקודה\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "יש לאפשר זאת רק ליישומונים שיש לך אמון בהם." + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "לאפשר מנגנון יישומון?" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +msgid "Widget Preferences" +msgstr "העדפות יישומון" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "out \"${programName}\"" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"נא להתקין את \"${programName}\" בשביל לאפשר לתוסף הסמלים בשולחן העבודה לבצע " +"פעולות אלה." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "בחירת תיקייה לשולחן העבודה" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "הפקודה לא נמצאה" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "נא לבחור יישום לפתיחת הקבצים שנבחרו." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "תמיד להשתמש לסוג קובץ זה" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "בי_טול" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_פתיחה" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "תגיות: GNOME Desktop" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "שולחן עבודה; מטבעות; פיות; מנדר; ;hide; show;launcher; shortcuts;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "הצגה<>הסתרה" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "העדפות" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "השבתה" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "גודל הסמלים" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "קביעת הגודל לסמלים בשולחן העבודה." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "הצגת התיקייה האישית" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "הצגת התיקייה האישית בשולחן העבודה." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "הצגת סמל האשפה" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "הצגת סמל האשפה בשולחן העבודה." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "הוספת סמלים חדשים לפינה" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "הגדרת הפינה שממנה יתחיל סדר הסמלים." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "הצגת כוננים חיצוניים בשולחן העבודה" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "הצגת הכוננים שמחוברים למחשב." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "הצגת כונני רשת בשולחן העבודה" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "הצגת כרכי רשת מעוגנים בשולחן העבודה." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "הוספת כוננים חדשים לצד הנגדי של המסך" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"בעת הוספת כוננים וכרכים לשולחן העבודה, יש להוסיף אותם לצד הנגדי של המסך." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "מציג מלבן במיקום היעד במהלך ביצוע פעולת גרירה ושחרור קבצים" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"בעת ביצוע פעולת גרירה ושחרור קבצים, אפשרות זו מסמנת בטבלה את המקום שבו יופיע " +"הסמל בעזרת מלבן שקוף למחצה." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "מיון תיקיות מיוחדות - בית/אשפה וכוננים." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"בעת סידור הסמלים בשולחן העבודה, למיין ולשנות את המיקום של תיקיית הבית, האשפה " +"והכוננים החיצוניים או כונני הרשת המעוגנים" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "לשמור על סמלים מסודרים" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "תמיד להשאיר את הסמלים מסודרים לפי הסדר האחרון שנבחר" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "סידור לפי סדר אחר" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "סידור הסמלים לפי מאפיין זה" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "להשאיר את הסמלים מקובצים" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "תמיד להשאיר סמלים מקובצים, קבצים מסוגים דומים יקובצו" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "סוג של קבצים שלא יקובצו" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "מערך של סוגי מחרוזות נתונים, אין לקבץ קבצים מסוגים אלה" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "הוספת סמל לקישורים" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "הוסף סמל כדי לאפשר זיהוי קישורים רכים." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "שימוש בטקסט שחור לתוויות" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"הצגת טקסט התווית בצבע שחור במקום לבן. שימושי כאשר משתמשים ברקעים בהירים." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "הצגת סמלים חדשים על הצג המשני אם מחובר" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "אם מחובר צג שני, סמלים חדשים יתווספו לצג שאינו הראשי" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "ניתן למקם את הסמלים בכל מקום על גבי שולחן העבודה" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"הסמלים אינם מסודרים לפי רשת מלבנית אלא ניתן למקם אותם בכל מקום בלי קשר לטבלה" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "וידג׳טים לסביבת שולחן העבודה" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "הסתר/ראה את כל החלונות שולחניים" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "הצג את הסמלים על שולחן העבודה, או להסתיר אותם" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "יישום המשתמש קיצור" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Override עבור קיצורי דרך יישומים ברירת מחדל שנקבעו על ידי המשתמש" diff --git a/ding/po/hi.po b/ding/po/hi.po new file mode 100644 index 0000000..90e81d1 --- /dev/null +++ b/ding/po/hi.po @@ -0,0 +1,2069 @@ +# Hindi translations for gtk4-ding package. +# Copyright (C) 2025 THE gtk4-ding'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Automatically generated, 2025. +# +# Weblate , 2025, 2026. +# Weblate Translation Memory , 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:10+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Hindi \n" +"Language: hi\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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "ओवराईड" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "शॉर्टकट" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "संपादित करें शॉर्टकट..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "अनुप्रयोग शॉर्टकट संपादित करें" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "शॉर्टकट केवल तभी संपादन योग्य है जब एक्सटेंशन सक्षम ..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "अपने वेब ब्राउज़र में अनुवाद करने में मदद करें" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "डेस्कटॉप" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "फ़ाइलें" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Tweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "अधिक" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "डेस्कटॉप सेटिंग्स" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "डेस्कटॉप कार्यक्रम के लिए सेटिंग्स" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "डेस्कटॉप फ़ोल्डर" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "वर्तमान डेस्कटॉप:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "फ़ाइल सेटिंग" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "सेटिंग Gnome फ़ाइलें के साथ साझा" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Miscellaneous Tweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "डेस्कटॉप आइकन के लिए आकार" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "टिनी" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "छोटा" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "मानक" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "बड़ा" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "नए आइकन संरेखण" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "शीर्ष बाएं कोने" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "शीर्ष दाहिने कोने" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "नीचे बाएं कोने" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "नीचे दाहिने कोने" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "पहले माध्यमिक मॉनिटर्स के लिए नए आइकन जोड़ें, यदि उपलब्ध हो, तो" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "ग्रिड के लिए स्नैप आइकन" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "फ़ाइलों में डेस्कटॉप दिखाएं" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "नया डेस्कटॉप फ़ोल्डर" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "डेस्कटॉप के लिए एक नया फ़ोल्डर सेट करें" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "चुनें" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "डेस्कटॉप को वापस सेट करें ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "डिफ़ॉल्ट डेस्कटॉप फ़ोल्डर पुनर्स्थापित करें" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "पुनर्स्थापित करें" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "ड्रॉप ग्रिड को हाइलाइट करें" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "लिंक, एन्क्रिप्शन के लिए जानकारी प्रतीक जोड़ें" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "आइकन लेबल में डार्क टेक्स्ट का उपयोग करें" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "डेस्कटॉप पर व्यक्तिगत फ़ोल्डर दिखाएं" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "डेस्कटॉप पर ट्रैश आइकन दिखाएं" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "डेस्कटॉप पर बाहरी ड्राइव दिखाएं" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "डेस्कटॉप पर नेटवर्क ड्राइव दिखाएं" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "डेस्कटॉप के विपरीत पक्ष में नए ड्राइव जोड़ें" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "आइटम खोलने के लिए कार्रवाई" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "सिंगल क्लिक" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "डबल क्लिक" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "छवि थंबनेल दिखाएं" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "हमेशा" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "केवल इस कंप्यूटर पर" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "कभी नहीं" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "स्थायी रूप से हटाने के लिए एक संदर्भ मेनू आइटम दिखाएं" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "छिपी हुई फ़ाइलें दिखाएं" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "ड्रैग होवर पर फ़ोल्डर खोलें" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "अनुवाद" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"मशीन Libretranslate का उपयोग करके अनुवाद किया। उपयोगकर्ता वेबलेट पर सत्यापित और " +"संपादित करते हैं।." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "संपादन अनुवाद" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "अपने वेब ब्राउज़र में अनुवाद सत्यापित करें, जोड़ें या सही करें" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "अनुवाद" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "]] {foo}]" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "खुला आइटम" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "ओपन फ़ोल्डर" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "ओपन फाइल" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "डिफ़ॉल्ट एप्लिकेशन बदलने में त्रुटि" + +# MT: LibreTranslate +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "सेटिंग करते समय त्रुटि {foo} {mimetype} के लिए डिफ़ॉल्ट आवेदन के रूप में" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "AppImage File पर अवैध अनुमति" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "इस AppImage फ़ाइल में गलत अनुमति है।." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "फिर गुणों को संपादित करने के लिए राइट क्लिक करें:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "अनुमतियां सेट करें" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "अन्य एक्सेस" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "केवल" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "या" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "कोई नहीं" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "सक्षम विकल्प" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "एक प्रोग्राम के रूप में फाइल को निष्पादित करने की अनुमति दें" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Untrusted AppImage File" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "यह ऐप छवि फ़ाइल विश्वसनीय नहीं है, इसे लॉन्च नहीं किया जा सकता है।." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "लॉन्च करने, राइट-क्लिक करने के लिए, फिर:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "सक्षम" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "लॉन्च करने की अनुमति दें" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "फ़ोल्डर का नाम" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "फाईल का नाम" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "ठीक" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "नाम बदलें" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "ऑटो Ar स्थापित नहीं है" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"संकुचित फ़ाइलों के साथ काम करने में सक्षम होने के लिए, फ़ाइल-रोलर और/या gir-1.2-gnome " +"स्थापित करें ऑटोअर" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "फ़ाइलों को निकालने" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "सम्पर्क करने का विवरण" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "रद्द करना" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "यहाँ एक पासवर्ड दर्ज करें" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "आंशिक फ़ाइल '${outputFile}' को हटाना" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "गंतव्य फ़ोल्डर बनाना" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "'${outputPath}']] में फ़ाइलों को निकालना" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "निष्कर्षण पूरा" + +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "" + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "निष्कर्षण रद्द" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "'${fullPathFile}'] को निकालने के लिए उपयोगकर्ता द्वारा रद्द कर दिया गया है।." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Passphrase ${filename}] के लिए आवश्यक" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "निष्कर्षण के दौरान त्रुटि" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "'${outputFile}']] में फ़ाइलों को संपीड़न करना" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "संपीड़न पूरा" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "'${outputFile}']] में फ़ाइलों को संपीड़न करना पूरा हो गया है।." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "रद्द करना" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "आउटपुट फ़ाइल '${outputFile}' पहले से ही मौजूद है।." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" +"'${outputFile}']] में फ़ाइलों को संपीड़ित करना उपयोगकर्ता द्वारा रद्द कर दिया गया है।." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "संपीड़न के दौरान त्रुटि" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "संग्रह बनाएँ" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "पुरालेख नाम" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "पासवर्ड" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "बनाना" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "सभी ऑपरेटिंग सिस्टम के साथ संगत।." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "पासवर्ड संरक्षित.zip, Windows और Mac पर स्थापित किया जाना चाहिए।." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "छोटे अभिलेखागार लेकिन लिनक्स और मैक केवल।." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "छोटे अभिलेखागार लेकिन विंडोज और मैक पर स्थापित किया जाना चाहिए।." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "प्रदर्शित डेस्कटॉप दूसरों द्वारा लिखने योग्य है" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"इस डेस्कटॉप फ़ोल्डर को इस डेस्कटॉप से लॉन्च नहीं किया जा सकता क्योंकि डेस्कटॉप फ़ोल्डर अन्य " +"उपयोगकर्ताओं द्वारा लिखने योग्य है।\n" +"\n" +"कृपया इस डेस्कटॉप फ़ोल्डर की अनुमतियों की जांच करें और सुनिश्चित करें कि यह दूसरों द्वारा " +"लिखित नहीं है।." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "टूटी हुई डेस्कटॉप फ़ाइल" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"इस .desktop फ़ाइल में त्रुटियां होती हैं या अनुमति के बिना किसी प्रोग्राम को इंगित करती " +"हैं। इसे निष्पादित नहीं किया जा सकता है।\n" +"\n" +"फ़ाइल को सही निष्पादन योग्य प्रोग्राम सेट करने के लिए संपादित करें।." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "डेस्कटॉप फ़ाइल पर अवैध अनुमति" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "इस डेस्कटॉप फ़ाइल में गलत अनुमति है।." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Untrusted डेस्कटॉप फ़ाइल" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "यह डेस्कटॉप फ़ाइल विश्वसनीय नहीं है, इसे लॉन्च नहीं किया जा सकता है।." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "नहीं खुल सकता फ़ाइल" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName}] इस प्रकार की फ़ाइलों को नहीं खोल सकता!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "डेस्कटॉप फ़ोल्डर विफल" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "नया डेस्कटॉप फ़ोल्डर एक प्रतीकात्मक लिंक है" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "नए डेस्कटॉप फ़ोल्डर मौजूद नहीं है या एक फ़ोल्डर नहीं है!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "डेस्कटॉप फ़ोल्डर बदलने वाला" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "नए डेस्कटॉप पर स्विच..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "डेस्कटॉप प्रतीक" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "डेस्कटॉप अद्यतन" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "विजेट जोड़ें" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "मॉनिटर फ्रेम बफर स्केलिंग सक्षम नहीं है" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"विभिन्न ज़ूम सेटिंग्स के साथ एकाधिक मॉनिटर, मॉनिटर फ्रेमबफर स्केलिंग के अनुसार सलाह देते हैं।\n" +"\n" +"कृपया Mutter Dconf सेटिंग्स में सक्षम करें" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"विभिन्न ज़ूम सेटिंग्स के साथ एकाधिक मॉनिटर।\n" +"\n" +"Mutter Dconf सेटिंग्स में मॉनिटर फ्रेमबफ़र स्केलिंग प्रति सक्षम?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "सक्षम" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "डेस्कटॉप नहीं दिखा सकते" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"डेस्कटॉप फ़ोल्डर {desktop} एक प्रतीकात्मक लिंक है\n" +"\n" +"कृपया डेस्कटॉप फ़ोल्डर को एक वास्तविक फ़ोल्डर में सेट करें" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"डेस्कटॉप फ़ोल्डर {desktop} मौजूद नहीं है, या एक निर्देशिका नहीं है\n" +"\n" +"अपने xdg-utils स्थापना की जाँच करें और सही डेस्कटॉप फ़ोल्डर सेट करें" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "ज्ञान फ़ाइल नहीं मिली" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "GNOME Gtk4 डेस्कटॉप प्रतीक NG द्वारा फ़ाइलें आवेदन की आवश्यकता है।." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "कोई डिफ़ॉल्ट फ़ाइल प्रबंधक नहीं है" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "वहाँ कोई आवेदन है कि mimetype \"inode/directory\" संभालती है" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome Files एक फ़ाइल प्रबंधक के रूप में पंजीकृत नहीं है" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Gnome फ़ाइलें आवेदन फ़ोल्डर खोलने के लिए प्रोग्राम नहीं किया गया है!\n" +"अपने xdg-utils स्थापना की जाँच करें\n" +"Gnome Files.desktop फ़ाइल स्थापना" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "नई खोज से पहले वर्तमान चयन को साफ़ करें" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "डेस्कटॉप पर फ़ाइलें खोजें" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "नया फ़ोल्डर" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "फ़ोल्डर निर्माण विफल" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "फ़ोल्डर नहीं बना सकता" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Gnome फ़ाइलों में डेस्कटॉप खोलने में असमर्थ" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Preference विंडो खुला है" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "यह विंडो खुली है। कृपया सक्रिय विंडो पर स्विच करें।." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "सेटिंग्स" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "टेम्पलेट क्रिएशन त्रुटि" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "दस्तावेज़ नहीं बना सकता" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "नाम" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "समय" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "प्रकार" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "आकार" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "व्यवस्थित रखें .." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "टाइप द्वारा स्टैक्ड रखें .." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "होम / ड्राइव / कचरा .." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "डेस्कटॉप बदलें" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "डिफ़ॉल्ट डेस्कटॉप पुनर्स्थापित करें" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "डेस्कटॉप आइकन सेटिंग" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "शो शॉर्टकट" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "नया दस्तावेज़" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "पेस्ट" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "हिन्दी" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "रेडो" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "सभी का चयन करें" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "प्रतीक" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "द्वारा व्यवस्थित.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "डेस्कटॉप इन {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "ओपन इन {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "शैल मेनू.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "बनाना SymLink विफल" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "प्रतीकात्मक लिंक नहीं बना सका" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "प्रतिलिपि / स्टोव विफल" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0}] मौजूद नहीं है" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "फ़ाइल के लिए एक्शन चुनें" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "कदम" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "कॉपी" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "लिंक" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "फ़ोल्डर" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "फ़ाइल" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "खोलने वाली फाइल विफल" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "\"{fo}\"] फ़ाइलें खोलने के लिए कोई आवेदन स्थापित नहीं है।." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "{0}] के साथ नया फ़ोल्डर आइटम" +msgstr[1] "{0}] के साथ नया फ़ोल्डर आइटम" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "सभी को खोलें..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "लॉन्च" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "{foo}] के साथ खुला" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "खुला" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "यहाँ निकालें" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "अन्य अनुप्रयोगों के साथ सभी को खोलें ..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "एकीकृत ग्राफिक्स कार्ड का उपयोग करके लॉन्च करें" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "स्टैक इस प्रकार" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "इस प्रकार Unstack" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "एक कार्यक्रम के रूप में भाग लें" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "स्क्रिप्ट" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "कट" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "नाम बदलें" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "लिंक बनाएं." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "संपीड़न {0} फ़ोल्डर" +msgstr[1] "संपीड़न {0} फ़ोल्डर" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Compress {0} file" +msgstr[1] "Compress {0} file" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "ईमेल." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "मोबाइल डिवाइस पर भेजें" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "ट्रैश के लिए कदम" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "स्थायी रूप से हटाएं" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "लॉन्च करने की अनुमति न दें" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "खाली कचरा" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Eject" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "अनमाउंट" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "सामान्य गुण" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "गुण" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "सब दिखा {0}]" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "{0}] में दिखाएं" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "{0}] में खुला" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "ओपन आइटम" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "निष्कर्षण रद्द" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "निकालने में असमर्थ फ़ाइल, कोई गंतव्य फ़ोल्डर नहीं" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "गंतव्य" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "चयन" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "निर्देशिका ईमेल नहीं कर सकते" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "चयन में एक निर्देशिका शामिल है, जो पहले एक .zip फ़ाइल को संपीड़ित करती है?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "मेल त्रुटि" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "जिप कमांड खोजने में असमर्थ, कृपया प्रोग्राम स्थापित करें" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "साइटमैप" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "एक ज़िप संग्रह बनाने में त्रुटि थी" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Xdg-email खोजने में असमर्थ, कृपया प्रोग्राम स्थापित करें" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "फाइल्स ईमेल करने में त्रुटि थी" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "कार्य निर्देशिका नहीं खोल सकते" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Gnome कंसोल में खोलने में असमर्थ" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "कृपया Gnome कंसोल या अन्य टर्मिनल प्रोग्राम स्थापित करें" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "खोलना {0}]" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "{0}]" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "रद्द करना" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "फ़ाइल कॉपी करने में असमर्थ, कोई गंतव्य फ़ोल्डर नहीं" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "रद्द करना" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "फ़ाइलों को स्थानांतरित करने में असमर्थ, कोई गंतव्य फ़ोल्डर नहीं" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ इस प्रकार की फ़ाइलों को नहीं खोल सकता!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "कंसोल" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "डिफ़ॉल्ट शॉर्टकट:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "नया प्रकार..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "संशोधक + कुंजी (जैसे Ctrl +) Alt + D" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "डिफ़ॉल्ट के लिए रीसेट करें" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "कोई त्वरक नहीं" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "सिस्टम शॉर्टकट" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "सामान्य प्रणाली परिभाषित कीबोर्ड शॉर्टकट" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "स्थानीय शॉर्टकट" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "अनुप्रयोग कीबोर्ड शॉर्टकट" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "ग्लोबल शॉर्टकट" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "सिस्टम कीबोर्ड शॉर्टकट" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "कीबोर्ड शॉर्टकट" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "शॉर्टकट रीसेट करें" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "डिफ़ॉल्ट करने के लिए सभी शॉर्टकट रीसेट करें" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "सभी को रीसेट करें..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "फ़ाइलों में डेस्कटॉप दिखाएं" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "टर्मिनल में खुला" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "पृष्ठभूमि बदलें" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "प्रदर्शन सेटिंग बदलें" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "डेस्कटॉप आइकन सेटिंग बदलें" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "क्लीन अप प्रतीक" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "व्यवस्थित रखें" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "स्टैक्ड रखें" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "विशेष फ़ोल्डर" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "नाम से प्रतीक व्यवस्थित करें" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Descend Name" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "संशोधित समय से प्रतीक की व्यवस्था करें" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "प्रतीक To make a kind" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "आकार से प्रतीक की व्यवस्था करें" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "फ़ाइलें खोजें" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "डेस्कटॉप अद्यतन" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "छिपी हुई फ़ाइलें दिखाएं" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "सभी का चयन करें" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "पूर्वावलोकन" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "विजेट जोड़ें" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "आइकन लेफ्ट चुनें" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "आइकन राइट चुनें" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "आइकन अप चुनें" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "आइकन डाउन चुनें" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "शो मेन्यू" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "शैल पृष्ठभूमि मेनू प्रदर्शित करें" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "डेस्कटॉप शॉर्टकट बनाएं" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "टेक्स्ट एंट्री एक्सेल चालू करें" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "टेक्स्ट एंट्री एक्सेल बंद हो जाते हैं" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "शो शॉर्टकट दर्शक" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "शो या छुपा डेस्कटॉप प्रतीक" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "अधिक जानकारी" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "घर" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "ट्रैश" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "स्टैक" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "लिंक" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "इस फ़ाइल को नहीं खोल सकता क्योंकि यह एक टूटी हुई सिमलिंक है" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "ड्राइव" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "प्राथमिकता" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "उपयोगकर्ता" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "अनुमति दें" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "स्ट्रिक्ट" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "विकास" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "डिफॉल्ट" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "आदेश:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "प्राथमिकता" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\"] उपलब्ध नहीं है" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"इन कार्यों को करने के लिए डेस्कटॉप प्रतीक को सक्षम करने के लिए \"${programName}\"] " +"स्थापित करें।." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "डेस्कटॉप फ़ोल्डर चुनें" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "आदेश नहीं मिला" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "चयनित फ़ाइलों को खोलने के लिए एक ऐप चुनें।." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "हमेशा इस फ़ाइल प्रकार के लिए उपयोग करें" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_ कैंसेल" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "ओपन" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "GNOME डेस्कटॉप पर आइकन प्रदर्शित करें" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "डेस्कटॉप; आइकन; फ़ाइल्स; फ़ोल्डर्स; प्रबंधक; व्यवस्था; छिपाना; शो; लांचर; छोटा;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "प्रदर्शन" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "प्राथमिकता" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "अक्षम" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "आइकन आकार" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "डेस्कटॉप आइकन के लिए आकार सेट करें।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "व्यक्तिगत फ़ोल्डर दिखाएँ" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "डेस्कटॉप में व्यक्तिगत फ़ोल्डर दिखाएं।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "ट्रैश आइकन" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "डेस्कटॉप में कचरा आइकन दिखाएं।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "नए आइकन प्रारंभ कोने" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "उस कोने को सेट करें जहां से आइकन रखना शुरू कर देंगे।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "डेस्कटॉप में बाहरी ड्राइव दिखाएं" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "कंप्यूटर से जुड़े डिस्क ड्राइव दिखाएं।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "डेस्कटॉप में नेटवर्क ड्राइव दिखाएं" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "डेस्कटॉप में घुड़सवार नेटवर्क वॉल्यूम दिखाएं।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "स्क्रीन के विपरीत पक्ष में नई ड्राइव जोड़ें" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "जब डेस्कटॉप पर ड्राइव और वॉल्यूम जोड़ते हैं, तो उन्हें स्क्रीन के विपरीत पक्ष में जोड़ें।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "DnD के दौरान गंतव्य स्थान पर एक आयत दिखाता है" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"जब एक ड्रैग'एन'ड्रॉप ऑपरेशन करते हैं, तो ग्रिड में जगह को चिह्नित करता है जहां आइकन को " +"अर्धपारदर्शी आयत के साथ रखा जाएगा।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "विशेष फ़ोल्डर्स - होम / ट्रैश ड्राइव।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"डेस्कटॉप पर प्रतीक की व्यवस्था करते समय, होम, ट्रैश और माउंटेड नेटवर्क या बाहरी ड्राइव की " +"स्थिति को सॉर्ट और बदलने के लिए" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "रखें प्रतीक व्यवस्थित" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "हमेशा आइकॉन रखें अंतिम व्यवस्थित आदेश द्वारा व्यवस्थित" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "व्यवस्था" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "प्रतीक इस संपत्ति द्वारा व्यवस्थित" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "रखें प्रतीक स्टैक्ड" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "हमेशा प्रतीक स्टैक्ड रखें, इसी तरह के प्रकार समूहित हैं" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "फ़ाइल का प्रकार स्टैक नहीं करने के लिए" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "स्ट्रिंग प्रकार की एक सरणी, इन प्रकार की फ़ाइलों को स्टैक न करें" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "जोड़ने के लिए एक प्रतीक जोड़ें" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "मुलायम लिंक की पहचान करने की अनुमति देने के लिए एक प्रतीक जोड़ें।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "लेबल टेक्स्ट के लिए ब्लैक का प्रयोग करें" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"व्हाइट के बजाय ब्लैक में लेबल टेक्स्ट पेंट करें। प्रकाश पृष्ठभूमि का उपयोग करते समय उपयोगी।." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "कनेक्ट होने पर गैर प्राथमिक मॉनिटर पर नए आइकन दिखाएं" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"यदि दूसरा मॉनिटर जुड़ा हुआ है, तो नए आइकन को गैर प्राथमिक मॉनिटर पर रखा जाता है" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "डेस्कटॉप पर कहीं भी प्रतीक को तैनात किया जा सकता है" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"प्रतीक एक आयताकार ग्रिड पर नहीं हैं लेकिन ग्रिड से कहीं भी स्वतंत्र रूप से पोस्ट किया जा " +"सकता है" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +#, fuzzy +msgid "Show Desktop Widgets" +msgstr "फ़ाइलों में डेस्कटॉप दिखाएं" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "सभी डेस्कटॉप विंडो छुपाएं / दिखाएं" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "डेस्कटॉप पर आइकन दिखाएं, या उन्हें छिपाएं" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "उपयोगकर्ता अनुप्रयोग शॉर्टकट" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "उपयोगकर्ता द्वारा निर्धारित डिफ़ॉल्ट अनुप्रयोग शॉर्टकट के लिए ओवरराइड करें" diff --git a/ding/po/hr.po b/ding/po/hr.po new file mode 100644 index 0000000..e5c3ec7 --- /dev/null +++ b/ding/po/hr.po @@ -0,0 +1,2039 @@ +# 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. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-03-02 11:09+0000\n" +"Last-Translator: Weblate \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" +"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: Weblate 5.16.1-dev\n" +"X-Launchpad-Export-Date: 2019-03-27 09:36+0000\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Prepiši" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Prečice" + +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Uredi prečace" + +#: app/adwPreferencesWindow.js:266 +#, fuzzy +msgid "Edit Application Shortcuts" +msgstr "Application Shortcuts" + +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "" + +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Stolno računalo" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Datoteke" + +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Podešavanja" + +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Više" + +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Postavke radne površine" + +#: app/adwPreferencesWindow.js:626 +#, fuzzy +msgid "Settings for the Desktop Program" +msgstr "Postavke za desktop program" + +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Mapa radne površine" + +#: app/adwPreferencesWindow.js:633 +#, fuzzy +msgid "Current Desktop: " +msgstr "Slomljene datoteke radne površine" + +#: app/adwPreferencesWindow.js:643 +#, fuzzy +msgid "Files Settings" +msgstr "Postavke datoteka" + +#: app/adwPreferencesWindow.js:644 +#, fuzzy +msgid "Settings shared with Gnome Files" +msgstr "Postavke podijeljene s Gnome datotekama" + +#: app/adwPreferencesWindow.js:651 +#, fuzzy +msgid "Miscellaneous Tweaks" +msgstr "Razna podešavanja" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Veličina ikona radne površine" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Sićušno" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Male" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Standardne" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Velike" + +#: app/adwPreferencesWindow.js:686 +#, fuzzy +msgid "New icons alignment" +msgstr "Novo poravnanje ikona" + +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Gore lijevo" + +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Gore desno" + +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Dolje lijevo" + +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Dolje desno" + +#: app/adwPreferencesWindow.js:697 +#, fuzzy +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Prvo dodajte nove ikone na sekundarne monitore, ako su dostupne" + +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Poravnaj s mrežom" + +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "Prikaži radnu površinu u Datotekama" + +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Mapa radne površine" + +#: app/adwPreferencesWindow.js:713 +#, fuzzy +msgid "Set a new folder for the desktop" +msgstr "Prikaži osobnu mapu na radnoj površini" + +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Odabir" + +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "" + +#: app/adwPreferencesWindow.js:721 +#, fuzzy +msgid "Restore Default Desktop Folder" +msgstr "Slomljene datoteke radne površine" + +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Vratiti" + +#: app/adwPreferencesWindow.js:732 +#, fuzzy +msgid "Highlight the drop grid" +msgstr "Označite ispuštenu rešetku tijekom povlačenja i ispuštanja" + +#: app/adwPreferencesWindow.js:742 +#, fuzzy +msgid "Add information emblems for links, encryption" +msgstr "Dodajte amblem vezama" + +#: app/adwPreferencesWindow.js:746 +#, fuzzy +msgid "Use dark text in icon labels" +msgstr "Koristite tamni tekst u oznakama ikona" + +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Prikaži osobnu mapu na radnoj površini" + +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Prikaži mapu smeća na radnoj površini" + +#: app/adwPreferencesWindow.js:761 +#, fuzzy +msgid "Show external drives on the desktop" +msgstr "Prikaži vanjske pogone na radnoj površini" + +#: app/adwPreferencesWindow.js:766 +#, fuzzy +msgid "Show network drives on the desktop" +msgstr "Prikaži mrežne pogone na radnoj površini" + +#: app/adwPreferencesWindow.js:771 +#, fuzzy +msgid "Add new drives to the opposite side of the desktop" +msgstr "Dodajte nove pogone na suprotnu stranu radne površine" + +#: app/adwPreferencesWindow.js:776 +#, fuzzy +msgid "Action to Open Items" +msgstr "Akcija za otvaranje stavki" + +#: app/adwPreferencesWindow.js:778 +#, fuzzy +msgid "Single click" +msgstr "Jedan klik" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Pritisni dvaput" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Prikaži sličice" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Uvijek" + +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Na ovom računalu" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Nikada" + +#: app/adwPreferencesWindow.js:793 +#, fuzzy +msgid "Show a context menu item to delete permanently" +msgstr "Prikažite stavku kontekstnog izbornika za trajno brisanje" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Prikaži skrivene datoteke" + +#: app/adwPreferencesWindow.js:803 +#, fuzzy +msgid "Open folders on drag hover" +msgstr "Otvorite mape pri povlačenju" + +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Oko..." + +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Prijevod" + +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" + +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Uredi Tranzicije..." + +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "" + +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Prevedi" + +#: app/appChooser.js:78 +#, fuzzy +msgid "Choose an application to open {foo}" +msgstr "Odaberite aplikaciju za otvaranje {foo}" + +#: app/appChooser.js:90 +#, fuzzy +msgid "Open Items" +msgstr "Otvorene stavke" + +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Otvori mapu" + +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Otvori datoteku" + +#: app/appChooser.js:165 +#, fuzzy +msgid "Error changing default application" +msgstr "Pogreška pri promjeni zadane aplikacije" + +#: app/appChooser.js:168 +#, fuzzy +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" +"Pogreška prilikom postavljanja {foo} kao zadane aplikacije za {mimetype}" + +#: app/appImageFileItem.js:57 +#, fuzzy +msgid "Invalid Permissions on AppImage File" +msgstr "Nevažeća dopuštenja za datoteku radne površine" + +#: app/appImageFileItem.js:58 +#, fuzzy +msgid "This AppImage File has incorrect Permissions." +msgstr "" +"Ova .desktop datoteka ima neispravne dozvole. Desni klik za uređivanje " +"svojstava, zatim:\n" + +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +#, fuzzy +msgid "Right Click to edit Properties, then:" +msgstr "" +"Ova .desktop datoteka ima neispravne dozvole. Desni klik za uređivanje " +"svojstava, zatim:\n" + +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "" + +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "" + +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Samo-čitanje" + +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "ili" + +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Ništa" + +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +#, fuzzy +msgid "Enable option" +msgstr "Omogući" + +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +#, fuzzy +msgid "Allow Executing File as a Program" +msgstr "" +"\n" +"Omogući opciju, \"Dopusti izvođenje datoteke kao programa\"" + +#: app/appImageFileItem.js:79 +#, fuzzy +msgid "Untrusted AppImage File" +msgstr "Slomljene datoteke radne površine" + +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "" + +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "" + +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "aktiviraj" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Dopusti pokretanje" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Ime mape" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Ime datoteke" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "U redu" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Preimenovati" + +#: app/autoAr.js:71 +#, fuzzy +msgid "AutoAr is not installed" +msgstr "AutoAr nije instaliran" + +#: app/autoAr.js:72 +#, fuzzy +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Da biste mogli raditi s komprimiranim datotekama, instalirajte file-roller i/" +"ili gir-1.2-gnomeAutoAr" + +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Raspakiraj datoteke" + +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Komprimiranje datoteka." + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Odustani" + +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Unesite lozinku" + +#: app/autoAr.js:358 +#, fuzzy +msgid "Removing partial file '${outputFile}'" +msgstr "Uklanjanje djelomične datoteke '${outputFile}'" + +#: app/autoAr.js:377 +#, fuzzy +msgid "Creating destination folder" +msgstr "Stvaranje odredišne mape" + +#: app/autoAr.js:409 +#, fuzzy +msgid "Extracting files into '${outputPath}'" +msgstr "Ekstrahiranje datoteka u '${outputPath}'" + +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Izdvajanje završeno" + +#: app/autoAr.js:440 +#, fuzzy +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Izdvajanje '${fullPathFile}' je dovršeno." + +#: app/autoAr.js:446 +#, fuzzy +msgid "Extraction cancelled" +msgstr "Izdvajanje je otkazano" + +#: app/autoAr.js:447 +#, fuzzy +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Korisnik je otkazao izdvajanje '${fullPathFile}'." + +#: app/autoAr.js:457 +#, fuzzy +msgid "Passphrase required for ${filename}" +msgstr "Potrebna je šifra za ${filename}" + +#: app/autoAr.js:460 +#, fuzzy +msgid "Error during extraction" +msgstr "Greška tijekom ekstrakcije" + +#: app/autoAr.js:487 +#, fuzzy +msgid "Compressing files into '${outputFile}'" +msgstr "Sažimanje datoteka u '${outputFile}'" + +#: app/autoAr.js:500 +#, fuzzy +msgid "Compression completed" +msgstr "Konverzija je završena" + +#: app/autoAr.js:501 +#, fuzzy +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Sažimanje datoteka u '${outputFile}' je dovršeno." + +#: app/autoAr.js:505 app/autoAr.js:512 +#, fuzzy +msgid "Cancelled compression" +msgstr "Otkazano sažimanje" + +#: app/autoAr.js:506 +#, fuzzy +msgid "The output file '${outputFile}' already exists." +msgstr "Izlazna datoteka '${outputFile}' već postoji." + +#: app/autoAr.js:513 +#, fuzzy +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "Korisnik je otkazao komprimiranje datoteka u '${outputFile}'." + +#: app/autoAr.js:516 +#, fuzzy +msgid "Error during compression" +msgstr "Pogreška tijekom kompresije" + +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Stvori arhiv" + +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Ime arhive" + +#: app/autoAr.js:608 +msgid "Password" +msgstr "Lozinka" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "Stvori" + +#: app/autoAr.js:712 +#, fuzzy +msgid "Compatible with all operating systems." +msgstr "Kompatibilan sa svim operativnim sustavima." + +#: app/autoAr.js:718 +#, fuzzy +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr ".zip zaštićen lozinkom, mora biti instaliran na Windows i Mac." + +#: app/autoAr.js:724 +#, fuzzy +msgid "Smaller archives but Linux and Mac only." +msgstr "Manje arhive, ali samo za Linux i Mac." + +#: app/autoAr.js:730 +#, fuzzy +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Manje arhive, ali moraju biti instalirane na Windows i Mac." + +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "" + +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Slomljene datoteke radne površine" + +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" + +#: app/desktopFileIcon.js:151 +#, fuzzy +msgid "Invalid Permissions on Desktop File" +msgstr "Nevažeća dopuštenja za datoteku radne površine" + +#: app/desktopFileIcon.js:152 +#, fuzzy +msgid "This Desktop File has incorrect Permissions." +msgstr "" +"Ova .desktop datoteka ima neispravne dozvole. Desni klik za uređivanje " +"svojstava, zatim:\n" + +#: app/desktopFileIcon.js:173 +#, fuzzy +msgid "Untrusted Desktop File" +msgstr "Slomljene datoteke radne površine" + +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "" + +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Nije bilo moguće otvoriti datoteku" + +#: app/desktopFileIcon.js:206 +#, fuzzy +msgid "{appName} can not open files of this Type!" +msgstr "${appName} ne može otvoriti datoteke ove vrste!" + +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +#, fuzzy +msgid "Desktop Folder Change Failed" +msgstr "Stvaranje mape nije uspjelo" + +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "" + +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "" + +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "" + +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "" + +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "ikona na radnoj površini" + +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Stolno računalo" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Dodaj widget" + +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "" + +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" + +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" + +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Omogući" + +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" + +#: app/desktopManager.js:229 +#, fuzzy +msgid "GNOME Files not found" +msgstr "GNOME datoteke nisu pronađene" + +#: app/desktopManager.js:230 +#, fuzzy +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "Aplikacija GNOME Files potrebna je za Desktop Icons NG." + +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "" + +#: app/desktopManager.js:238 +#, fuzzy +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Nema instalirane aplikacije za otvaranje datoteka vrste \"{foo}\"." + +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "" + +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" + +#: app/desktopManager.js:356 +#, fuzzy +msgid "Clear current selection before new search" +msgstr "Očisti trenutni odabir prije novog pretraživanja" + +#: app/desktopManager.js:1297 +#, fuzzy +msgid "Find Files on Desktop" +msgstr "Pronađite datoteke na radnoj površini" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Nova mapa" + +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Kreiranje nije uspjelo" + +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Nije moguće stvoriti mapu %s" + +#: app/desktopMenu.js:610 +#, fuzzy +msgid "Unable to open Desktop in Gnome Files" +msgstr "Nije moguće kopirati datoteke, nema odredišne mape" + +#: app/desktopMenu.js:629 +#, fuzzy +msgid "Preferences Window is Open" +msgstr "Prozor postavki je otvoren" + +#: app/desktopMenu.js:630 +#, fuzzy +msgid "This Window is open. Please switch to the active window." +msgstr "Ovaj prozor je otvoren. Prijeđite na aktivni prozor." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Postavke" + +#: app/desktopMenu.js:919 +#, fuzzy +msgid "Template Creation Error" +msgstr "Pogreška pri izradi predloška" + +#: app/desktopMenu.js:920 +#, fuzzy +msgid "Could not create document" +msgstr "Neuspjelo stvaranje priključnice." + +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Ime" + +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Naziv (Ž-A)" + +#: app/desktopMenu.js:1042 +#, fuzzy +msgid "Modified Time" +msgstr "Modificirano vrijeme" + +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Vrsta" + +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Veličina" + +#: app/desktopMenu.js:1051 +#, fuzzy +msgid "Keep Arranged…" +msgstr "Održavajte dogovor…" + +#: app/desktopMenu.js:1056 +#, fuzzy +msgid "Keep Stacked by Type…" +msgstr "Zadrži naslagano prema vrsti…" + +#: app/desktopMenu.js:1058 +#, fuzzy +msgid "Sort Home/Drives/Trash…" +msgstr "Poredaj Početna/Pogoni/Otpad…" + +#: app/desktopMenu.js:1063 +#, fuzzy +msgid "Change Desktop" +msgstr "Stolno računalo" + +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "" + +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Postavke radne površine" + +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Pokaži prečace" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Novi dokument" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Zalijepi" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Poništi" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Ponovi" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Označi sve" + +#: app/desktopMenu.js:1104 +#, fuzzy +msgid "Arrange Icons" +msgstr "Rasporedi ikone" + +#: app/desktopMenu.js:1108 +#, fuzzy +msgid "Arrange By…" +msgstr "Poredati po…" + +#: app/desktopMenu.js:1116 +#, fuzzy +msgid "Show Desktop In {0}" +msgstr "Prikaži radnu površinu u Datotekama" + +#: app/desktopMenu.js:1121 +#, fuzzy +msgid "Open In {0}" +msgstr "Otvori pomoću {foo}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Uredi widgete" + +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "" + +#: app/dragManager.js:101 app/dragManager.js:939 +#, fuzzy +msgid "Making SymLink Failed" +msgstr "Izrada SymLinka nije uspjela" + +#: app/dragManager.js:102 app/dragManager.js:940 +#, fuzzy +msgid "Could not create symbolic link" +msgstr "Nije moguće stvoriti simboličku vezu" + +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Kopiranje nije uspjelo" + +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "Ne postoji" + +#: app/dragManager.js:791 +#, fuzzy +msgid "Choose Action for Files" +msgstr "Odaberite Akcija za datoteke" + +#: app/dragManager.js:792 +msgid "Move" +msgstr "Potez" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Kopiraj" + +#: app/dragManager.js:792 +msgid "Link" +msgstr "Poveznica" + +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Mapa" + +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Datoteka" + +#: app/fileItemIcon.js:286 +#, fuzzy +msgid "Opening File Failed" +msgstr "Otvaranje datoteke nije uspjelo" + +#: app/fileItemIcon.js:292 +#, fuzzy +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Nema instalirane aplikacije za otvaranje datoteka vrste \"{foo}\"." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "Nova mapa s {0} stavki" + +#: app/fileItemMenu.js:114 +#, fuzzy +msgid "Open All..." +msgstr "Otvori sve..." + +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Pokreni" + +#: app/fileItemMenu.js:135 +#, fuzzy +msgid "Open with {foo}" +msgstr "Otvori pomoću {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Otvori" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Raspakiraj ovdje" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Raspakiraj u…" + +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Otvori sa …" + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Otvori s drugom aplikacijom" + +#: app/fileItemMenu.js:184 +#, fuzzy +msgid "Launch using Integrated Graphics Card" +msgstr "Pokretanje pomoću namjenske grafičke kartice" + +#: app/fileItemMenu.js:206 +#, fuzzy +msgid "Stack This Type" +msgstr "Stack This Type" + +#: app/fileItemMenu.js:207 +#, fuzzy +msgid "Unstack This Type" +msgstr "Ukloni ovu vrstu" + +#: app/fileItemMenu.js:231 +#, fuzzy +msgid "Run as a Program" +msgstr "Pokreni kao program" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Skripta" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Izreži" + +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Premjesti u" + +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Kopiraj u" + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Preimenuj…" + +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Napraviti vezu" + +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "Komprimiraj {0} mapa" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "Komprimiraj {0} datoteka" + +#: app/fileItemMenu.js:276 +#, fuzzy +msgid "Email to..." +msgstr "E-mail na..." + +#: app/fileItemMenu.js:286 +#, fuzzy +msgid "Send to Mobile Device" +msgstr "Pošalji na mobilni uređaj" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Premjesti u smeće" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Obriši trajno" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Dopusti pokretanje" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Isprazni smeće" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Izbaci" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Odmontiraj" + +#: app/fileItemMenu.js:354 +#, fuzzy +msgid "Common Properties" +msgstr "Uobičajena svojstva" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Svojstva" + +#: app/fileItemMenu.js:362 +#, fuzzy +msgid "Show All in {0}" +msgstr "Prikaži sve u datotekama" + +#: app/fileItemMenu.js:363 +#, fuzzy +msgid "Show in {0}" +msgstr "Prikaži u Datotekama" + +#: app/fileItemMenu.js:374 +#, fuzzy +msgid "Open in {0}" +msgstr "Otvori pomoću {foo}" + +#: app/fileItemMenu.js:539 +#, fuzzy +msgid "Open Item" +msgstr "Otvorene stavke" + +#: app/fileItemMenu.js:821 +#, fuzzy +msgid "Extraction Cancelled" +msgstr "Izdvajanje je otkazano" + +#: app/fileItemMenu.js:822 +#, fuzzy +msgid "Unable to extract File, no destination folder" +msgstr "Nije moguće izdvojiti datoteku, nema odredišne mape" + +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Select Destination" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Odaberi" + +#: app/fileItemMenu.js:965 +#, fuzzy +msgid "Can not email a Directory" +msgstr "Ne mogu poslati imenik e-poštom" + +#: app/fileItemMenu.js:967 +#, fuzzy +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Odabir uključuje imenik, prvo komprimirajte imenik u datoteku." + +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "" + +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "" + +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +#, fuzzy +msgid "Archive.zip" +msgstr "Naziv arhive" + +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "" + +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "" + +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "" + +#: app/fileItemMenu.js:1176 +#, fuzzy +msgid "Can Not open the Working Directory" +msgstr "Ne mogu poslati imenik e-poštom" + +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "" + +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "" + +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Nije moguće otvoriti" + +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "" + +#: app/fileItemMenu.js:1283 +#, fuzzy +msgid "Copy Cancelled" +msgstr "Kopiranje je otkazano" + +#: app/fileItemMenu.js:1284 +#, fuzzy +msgid "Unable to copy Files, no destination folder" +msgstr "Nije moguće kopirati datoteke, nema odredišne mape" + +#: app/fileItemMenu.js:1307 +#, fuzzy +msgid "Move Cancelled" +msgstr "Premještanje otkazano" + +#: app/fileItemMenu.js:1308 +#, fuzzy +msgid "Unable to move Files, no destination folder" +msgstr "Nije moguće premjestiti datoteke, nema odredišne mape" + +#: app/gnomeShellDragDrop.js:356 +#, fuzzy +msgid "$appName$ can not open files of this Type!" +msgstr "${appName} ne može otvoriti datoteke ove vrste!" + +#: app/preferences.js:1078 +msgid "Console" +msgstr "Konzola" + +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "" + +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "" + +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "" + +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Resetiraj na standardne vrijednosti" + +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Prečac" + +#: app/shortcutManager.js:256 +#, fuzzy +msgid "System Shortcuts" +msgstr "Pokaži prečace" + +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "" + +#: app/shortcutManager.js:315 +#, fuzzy +msgid "Local Shortcuts" +msgstr "Pokaži prečace" + +#: app/shortcutManager.js:316 +#, fuzzy +msgid "Application Keyboard Shortcuts" +msgstr "Application Shortcuts" + +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Globalni prečac" + +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Tipkovni prečaci" + +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Tipkovni prečaci" + +#: app/shortcutManager.js:706 +#, fuzzy +msgid "Reset Shortcuts" +msgstr "Pokaži prečace" + +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "" + +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Resetiraj sve" + +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Prikaži radnu površinu u Datotekama" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Otvori u Terminalu" + +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Promijeni pozadinu" + +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Postavke zaslona" + +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Postavke radne površine" + +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "" + +#: app/shortcuts.js:21 +#, fuzzy +msgid "Keep Arranged" +msgstr "Održavajte dogovor…" + +#: app/shortcuts.js:22 +#, fuzzy +msgid "Keep Stacked" +msgstr "Držite ikone naslagane" + +#: app/shortcuts.js:23 +#, fuzzy +msgid "Sort Special Folders" +msgstr "Sortiraj posebne mape - početna/smeće." + +#: app/shortcuts.js:24 +#, fuzzy +msgid "Arrange Icons by Name" +msgstr "Rasporedi ikone" + +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "" + +#: app/shortcuts.js:26 +#, fuzzy +msgid "Arrange Icons By Modified Time" +msgstr "Modificirano vrijeme" + +#: app/shortcuts.js:27 +#, fuzzy +msgid "Arrange Icons By Kind" +msgstr "Rasporedi ikone" + +#: app/shortcuts.js:28 +#, fuzzy +msgid "Arrange Icons By Size" +msgstr "Rasporedi ikone" + +#: app/shortcuts.js:29 +#, fuzzy +msgid "Find Files" +msgstr "Datoteke" + +#: app/shortcuts.js:30 +#, fuzzy +msgid "Update Desktop" +msgstr "Stolno računalo" + +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Prikaži skrivene datoteke" + +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Oduzmi sve oznake" + +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Pregled" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Dodaj widget" + +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +#, fuzzy +msgid "Choose Icon Left" +msgstr "Odaberite Akcija za datoteke" + +#: app/shortcuts.js:42 +#, fuzzy +msgid "Choose Icon Right" +msgstr "Odaberite Akcija za datoteke" + +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Odaberite ikonu" + +#: app/shortcuts.js:48 +#, fuzzy +msgid "Choose Icon Down" +msgstr "Odaberite Akcija za datoteke" + +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Prikaži izbornik" + +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "" + +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Stvori prečac za radnu površinu" + +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "" + +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "" + +#: app/shortcuts.js:57 +#, fuzzy +msgid "Show Shortcut Viewer" +msgstr "Pokaži prečace" + +#: app/shortcuts.js:58 +#, fuzzy +msgid "Show Or Hide Desktop Icons" +msgstr "Postavke ikona radne površine" + +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Daljnje informacije" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Osobna mapa" + +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Smeće" + +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Složi" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Pokidane veze" + +#: app/symLinkIcon.js:102 +#, fuzzy +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Ne mogu otvoriti ovu datoteku jer je neispravna simbolička veza" + +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Disk" + +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Postavke" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Korisnički" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Dozvoli" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Strog" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Opušteno" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Razvoj" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Tvorni?ko" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Naredba:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Postavke" + +#: app/utils/dbusUtils.js:67 +#, fuzzy +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" je potreban za ikone na radnoj površini" + +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" + +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Mapa radne površine" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Naredba nije pronađena" + +#: data/ui/ding-app-chooser.ui:47 +#, fuzzy +msgid "Choose an app to open the selected files." +msgstr "Odaberite aplikaciju za otvaranje odabranih datoteka." + +#: data/ui/ding-app-chooser.ui:81 +#, fuzzy +msgid "Always use for this file type" +msgstr "Uvijek koristite za ovu vrstu datoteke" + +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Odustani" + +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Otvori" + +#: data/com.desktop.ding.desktop.in:5 +#, fuzzy +msgid "Display icons on the GNOME desktop" +msgstr "Prikaži mapu smeća na radnoj površini" + +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" + +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Prikaži / Sakrij" + +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Postavke" + +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Deaktiviraj" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Veličina ikona" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Postavi veličinu ikona radne površine." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Prikaži osobnu mapu" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Prikaži osobnu mapu na radnoj površini." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Prikaži ikonu smeća" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Prikaži ikonu smeća na radnoj površini." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +#, fuzzy +msgid "New icons start corner" +msgstr "Nove ikone početni kut" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +#, fuzzy +msgid "Set the corner from where the icons will start to be placed." +msgstr "Postavite kut od kojeg će se ikone početi postavljati." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +#, fuzzy +msgid "Show external drives in the desktop" +msgstr "Prikaži vanjske pogone na radnoj površini" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +#, fuzzy +msgid "Show the disk drives connected to the computer." +msgstr "Prikažite diskove spojene na računalo." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +#, fuzzy +msgid "Show network drives in the desktop" +msgstr "Prikaži mrežne pogone na radnoj površini" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +#, fuzzy +msgid "Show mounted network volumes in the desktop." +msgstr "Prikaži montirane mrežne volumene na radnoj površini." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +#, fuzzy +msgid "Add new drives to the opposite side of the screen" +msgstr "Dodajte nove pogone na suprotnu stranu zaslona" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +#, fuzzy +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Prilikom dodavanja pogona i volumena na radnu površinu, dodajte ih na " +"suprotnu stranu zaslona." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +#, fuzzy +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Prikazuje pravokutnik na mjestu odredišta tijekom DnD" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +#, fuzzy +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Kada izvodite operaciju Drag'n'Drop, poluprozirnim pravokutnikom označava " +"mjesto u rešetki gdje će ikona biti postavljena." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +#, fuzzy +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Sortiraj posebne mape - početna/smeće." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +#, fuzzy +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Prilikom raspoređivanja ikona na radnoj površini, za sortiranje i promjenu " +"položaja početne stranice, smeća i montirane mreže ili vanjskih pogona" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +#, fuzzy +msgid "Keep Icons Arranged" +msgstr "Držite ikone poredane" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +#, fuzzy +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Ikone uvijek držite posložene po zadnjem uređenom redoslijedu" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +#, fuzzy +msgid "Arrange Order" +msgstr "Uredite narudžbu" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +#, fuzzy +msgid "Icons Arranged by this property" +msgstr "Ikone raspoređene po ovom svojstvu" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +#, fuzzy +msgid "Keep Icons Stacked" +msgstr "Držite ikone naslagane" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +#, fuzzy +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Uvijek držite ikone naslagane, slične vrste su grupirane" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +#, fuzzy +msgid "Type of Files to not Stack" +msgstr "Vrsta datoteka koje se ne slažu" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +#, fuzzy +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Niz vrsta nizova, nemojte slagati ove vrste datoteka" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +#, fuzzy +msgid "Add an emblem to links" +msgstr "Dodajte amblem vezama" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +#, fuzzy +msgid "Add an emblem to allow to identify soft links." +msgstr "Dodajte amblem za prepoznavanje mekih veza." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +#, fuzzy +msgid "Use black for label text" +msgstr "Koristite crnu boju za tekst naljepnice" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +#, fuzzy +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Obojite tekst naljepnice u crno umjesto u bijelo. Korisno kada koristite " +"svijetle pozadine." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +#, fuzzy +msgid "Show new icons on non primary monitor if connected" +msgstr "Prikaži nove ikone na monitoru koji nije primarni ako je povezan" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +#, fuzzy +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Ako je spojen drugi monitor, nove ikone postavljaju se na monitor koji nije " +"primarni" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +#, fuzzy +msgid "Show Desktop Widgets" +msgstr "Prikaži radnu površinu u Datotekama" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +#, fuzzy +msgid "Show the icons on the desktop, or hide them all" +msgstr "Prikaži mapu smeća na radnoj površini" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +#, fuzzy +msgid "User Application Shortcuts" +msgstr "Application Shortcuts" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" + +#, fuzzy +#~ msgid "" +#~ "\n" +#~ "Set Permissions, in \"Others Access\", \"Read Only\" or \"None\"" +#~ msgstr "" +#~ "\n" +#~ "Postavite dopuštenja, u \"Others Access\", \"Read Only\" ili \"None\"" + +#, fuzzy +#~ msgid "" +#~ "For this functionality to work in Desktop Icons, you must install \"$" +#~ "{programName}\" in your system." +#~ msgstr "" +#~ "Da bi ova funkcija radila u ikonama radne površine, morate instalirati \"$" +#~ "{programName}\" u svoj sustav." + +#, fuzzy +#~ msgid "Website" +#~ msgstr "Website" + +#, fuzzy +#~ msgid "Visit" +#~ msgstr "Posjeti" + +#, fuzzy +#~ msgid "Issues" +#~ msgstr "Problemi" + +#, fuzzy +#~ msgid "Report" +#~ msgstr "Prijavi" + +#, fuzzy +#~ msgid "License" +#~ msgstr "Licenca" + +#, fuzzy +#~| msgid "Paste" +#~ msgid "Do Paste" +#~ msgstr "Zalijepi" + +#, fuzzy +#~ msgid "Copy Item" +#~ msgstr "Otvorene stavke" + +#, fuzzy +#~ msgid "Rename Item" +#~ msgstr "Preimenovati" + +#, fuzzy +#~| msgid "Delete permanently" +#~ msgid "Delete Permanently" +#~ msgstr "Obriši trajno" + +#, fuzzy +#~| msgid "Properties" +#~ msgid "Show Properties" +#~ msgstr "Prikaži svojstva" + +#, fuzzy +#~ msgid "Create Link to Item" +#~ msgstr "Napraviti vezu" + +#, fuzzy +#~ msgid "Add an emblem to soft links" +#~ msgstr "Dodajte amblem mekim vezama" + +#, fuzzy +#~ msgid "Volumes" +#~ msgstr "Izdanja" + +#, fuzzy +#~ msgid "Desktop volumes display" +#~ msgstr "Prikaz volumena radne površine" + +#, fuzzy +#~ msgid "Run" +#~ msgstr "Pokreni" + +#, fuzzy +#~ msgid "Close" +#~ msgstr "Zatvori" + +#, fuzzy +#~ msgid "Use Nemo to open folders" +#~ msgstr "Koristite Nemo za otvaranje mapa" + +#, fuzzy +#~ msgid "Use Nemo instead of Nautilus to open folders." +#~ msgstr "Koristite Nemo umjesto Nautilusa za otvaranje mapa." + +#, fuzzy +#~ msgid "Open In Terminal" +#~ msgstr "Otvori u Terminalu" + +#, fuzzy +#~ msgid "No Extraction Folder" +#~ msgstr "Nema mape za izdvajanje" + +#, fuzzy +#~ msgid "Select Extract Destination" +#~ msgstr "Odaberite izdvajanje odredišta" + +#~ msgid "Open With Other Application" +#~ msgstr "Otvori s drugom aplikacijom" + +#, fuzzy +#~ msgid "Click type for open files" +#~ msgstr "Pritisnite tip za otvorene datoteke" + +#, fuzzy +#~ msgid "Action to do when launching a program from the desktop" +#~ msgstr "" +#~ "Radnja koju treba učiniti prilikom pokretanja programa s radne površine" + +#, fuzzy +#~ msgid "Display the content of the file" +#~ msgstr "Prikažite sadržaj datoteke" + +#, fuzzy +#~ msgid "Launch the file" +#~ msgstr "Pokrenite datoteku" + +#, fuzzy +#~ msgid "Ask what to do" +#~ msgstr "Pitajte što učiniti" + +#, fuzzy +#~ msgid "Local files only" +#~ msgstr "Samo lokalne datoteke" + +#~ msgid "Do you want to run “{0}”, or display its contents?" +#~ msgstr "Želite li pokrenuti “{0}”, ili prikazati njezin sadržaj?" + +#~ msgid "“{0}” is an executable text file." +#~ msgstr "“{0}” je izvršna tekstovna datoteka." + +#, fuzzy +#~ msgid "Execute in a terminal" +#~ msgstr "Otvori u Terminalu" + +#, fuzzy +#~ msgid "New folder" +#~ msgstr "Nova mapa" + +#~ msgid "Delete" +#~ msgstr "Obriši" + +#~ msgid "If you delete an item, it will be permanently lost." +#~ msgstr "Ako obrišete stavku, trajno će biti izgubljena." + +#, fuzzy +#~ msgid "Show the external drives" +#~ msgstr "Prikaži osobnu mapu na radnoj površini" + +#, fuzzy +#~ msgid "Show network volumes" +#~ msgstr "Prikaži u Datotekama" + +#~ msgid "Enter file name…" +#~ msgstr "Upiši naziv datoteke…" + +#~ msgid "Folder names cannot contain “/”." +#~ msgstr "Naziv mape ne može sadržavati “/”." + +#~ msgid "A folder cannot be called “.”." +#~ msgstr "Mapa se ne može nazvati “.”." + +#~ msgid "A folder cannot be called “..”." +#~ msgstr "Mapa se ne može nazvati “..”." + +#~ msgid "Folders with “.” at the beginning of their name are hidden." +#~ msgstr "Mape sa “.” na početku njihovih naziva su skrivene." + +#~ msgid "There is already a file or folder with that name." +#~ msgstr "Već postoji datoteka ili mapa s tim nazivom." + +#, fuzzy +#~ msgid "Desktop Icons Settings" +#~ msgstr "Postavke zaslona" diff --git a/ding/po/hu.po b/ding/po/hu.po new file mode 100644 index 0000000..d3e18b6 --- /dev/null +++ b/ding/po/hu.po @@ -0,0 +1,1794 @@ +# Hungarian translation for desktop-icons. +# Copyright (C) 2019 The Free Software Foundation, inc. +# This file is distributed under the same license as the desktop-icons package. +# +# Meskó Balázs , 2021. +# Balázs Úr , 2019. +# LibreTranslate , 2023, 2024. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# András Pelach , 2025, 2026. +# Hunor János , 2025, 2026. +# Babos Máté , 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:10+0000\n" +"Last-Translator: Weblate \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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Felülírás" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "Asztali ikonok megjelenésének személyre szabása CSS-el" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" +"Figyelem: A bővítmény meghibásodhat, hogyha ez helytelenül van megcsinálva" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "CSS felülírási fájl szerkesztése..." + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "CSS változtatások mentése most" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "Töltse újra a CSS-t a változtatások alkalmazásához" + +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Gyorsbillentyűk" + +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Gyorsbillentyűk szerkesztése..." + +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Alkalmazás gyorsbillentyűinek szerkesztése" + +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "" +"A gyorsbillentyűket csak akkor lehet szerkeszteni, ha a kiegészítő " +"engedélyezve van..." + +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Segíts a fordításban a böngésződben" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Asztal" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Fájlok" + +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Hangolás" + +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Több" + +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Asztali beállítások" + +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Beállítások az asztali programhoz" + +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Az asztal mappája" + +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Jelenlegi asztal: " + +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Fájlkezelői beállítások" + +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "A fájlkezelőre vonatkozó beállítások" + +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Egyéb finomhangolások" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Az asztali ikonok mérete" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Apró" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Kicsi" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Szokásos" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Nagy" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Új ikonok elrendezése" + +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Bal felső sarok" + +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Jobb felső sarok" + +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Bal alsó sarok" + +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Jobb alsó sarok" + +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Először az új ikonokat a másodlagos monitorhoz adja hozzá, ha elérhető" + +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Ikonok rácshoz illesztése" + +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Grafikus felületi elemek" + +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Új asztali mappa" + +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Új mappa beállítása az asztalnak" + +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Választás" + +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Asztal visszaállítása ide: ~/" + +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Alapértelmezett asztali mappa visszaállítása" + +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Visszaállítás" + +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Lerakási pozíció kiemelése" + +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Információs emblémák hozzáadása hivatkozásokhoz, titkosításhoz" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Sötét szöveg használata az ikoncímkékben" + +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "A személyes mappa megjelenítése az asztalon" + +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "A kuka ikon megjelenítése az asztalon" + +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "A külső meghajtók megjelenítése az asztalon" + +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "A hálózati meghajtók megjelenítése az asztalon" + +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Új meghajtók hozzáadása az asztal ellentétes oldalán" + +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Művelet az elemek megnyitásához" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Egyszeri kattintás" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Dupla kattintás" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Bélyegképek megjelenítése" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Mindig" + +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Csak ezen a számítógépen" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Soha" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Menüelem megjelenítése a végleges törléshez" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Rejtett fájlok megjelenítése" + +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Mappák megnyitása az egérmutató húzásával" + +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Névjegy..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Fordítás" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Gépi fordítás LibreTranslate. A felhasználó ellenőrizte és szerkesztette a " +"Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Fordítások szerkesztése" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "A fordítás ellenőrzése, hozzáadása vagy javítása a böngészőben" + +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Fordítás" + +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Válassz egy alkalmazást a(z) {foo} megnyitásához" + +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Elemek megnyitása" + +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Mappa megnyitása" + +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Fájl megnyitása" + +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Nem sikerült az alapértelmezett alkalmazás megváltoztatása" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" +"Hiba a(z) {foo} beállítása közben alapértelmezettként, a(z) {mimetype} " +"fájltípushoz" + +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Érvénytelen engedélyek az AppImage fájlon" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Ez az appImage fájl hibás jogosultságokat tartalmaz." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Jobb Click a tulajdonságok szerkesztéséhez, majd:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Engedélyek beállítása" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Egyéb hozzáférés" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Csak olvasható" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "vagy" + +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Egyik sem" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Beállítások engedélyezése" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "A fájl letöltésének engedélyezése programként" + +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Nem megbízható AppImage fájl" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Ez az alkalmazás A képfájl nem megbízható, nem lehet elindítani." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "A kilövés engedélyezéséhez kattintson jobbra, majd:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "engedélyezése" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Indítás engedélyezése" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Mappanév" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Fájlnév" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "Rendben" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Átnevezés" + +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Az AutoAr nincs telepítve" + +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"A tömörített fájlokkal való munkavégzéshez telepítsd a file-rollert és/vagy " +"a gir-1.2-gnomeAutoAr-t" + +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Fájlok kibontása" + +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Fájlok tömörítése" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Mégse" + +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Adjon meg egy jelszót itt" + +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Részben létrehozott fájl eltávolítása: '${outputFile}'" + +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Célmappa létrehozása" + +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Fájlok kibontása ide: '${outputPath}'" + +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "A kibontás befejeződött" + +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "A(z) '${fullPathFile}' kibontása befejeződött." + +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Kibontás megszakítva" + +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "A felhasználó megszakította a(z) '${fullPathFile}' kibontását." + +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Jelszó szükséges a(z) '${filename}' fájlhoz" + +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Hiba a kibontás közben" + +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Fájlok tömörítése ide: '${outputFile}'" + +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "A tömörítés befejeződött" + +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "A fájlok tömörítése befejeződött ide: '${outputFile}'" + +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Tömörítés megszakítva" + +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "A fájl '${outputFile}' már létezik." + +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" +"A fájlok tömörítését ide: '${outputFile}', megszakította a felhasználó." + +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Hiba a tömörítés során" + +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Archívum létrehozása" + +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Archívum neve" + +#: app/autoAr.js:608 +msgid "Password" +msgstr "Jelszó" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "Létrehozás" + +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Minden operációs rendszerrel kompatibilis." + +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Jelszóval védett .zip, Windows és Mac rendszerrel kompatibilis." + +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Kisebb archívumok, de csak Linux és Mac." + +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Kisebb archívumok, de csak Windows és Mac rendszerrel kompatibilis." + +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "A megjelenített asztal szerkeszthető mások által is" + +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".desktop fájlok nem indíthatók erről az asztalról, mert az asztal mappája " +"mások által is szerkeszthető.\n" +"\n" +"Ellenőrizd le a mappa engedélyeit, hogy nem szerkeszthető-e mások által." + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Hibás asztali fájl" + +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Ez a .desktop fájl hibás, vagy egy olyan programra mutat, amire nincs " +"engedélye. Nem lehet futtatni.\n" +"\n" +"Szerkeszd a fájlt, hogy a megfelelő programra mutasson." + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Érvénytelen engedélyek az asztali fájlon" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Ez az asztali fájl nem megfelelő." + +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Nem megbízható asztali fájl" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Ez az Asztalfájl nem megbízható, nem lehet elindítani." + +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "A fájl megnyitása nem sikerült" + +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} nem tudja megnyitni az ilyen típusú fájlokat!" + +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Az asztal mappájának cseréje nem sikerült" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Az új asztali mappa egy szimbolikus link" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Az új Asztali mappa nem létezik vagy nem mappa!" + +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Az asztal mappája megváltoztatva" + +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Átváltás új asztalra..." + +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Asztali ikonok" + +#: app/desktopGrid.js:2584 +msgid "Back to Desktop" +msgstr "Vissza az asztalra" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +#, fuzzy +msgid "Toggle Widget Grid" +msgstr "Widget réteg ki-/bekapcsolása" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Modul hozzáadása" + +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "A monitor Frame Buffer skálázása nincs engedélyezve" + +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Több monitor más nagyítási beállításokkal, ajánlott a monitoronkénti Frame " +"Buffer skálázás.\n" +"\n" +"Engedélyezd a Mutter Dconf beállításaiban" + +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Több monitor más nagyítási beállításokkal.\n" +"\n" +"Engedélyezed a monitoronkénti Frame Buffer skálázást a Mutter Dconf " +"beállításaiban?" + +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Engedélyezés" + +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Az asztal nem jeleníthető meg" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Az Asztali mappa {desktop} egy szimbolikus link\n" +"\n" +"Kérem állítsa be az Asztali mappát egy igazi mappába" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Az Asztali mappa {desktop} nem létezik, vagy nem egy Directory\n" +"\n" +"Ellenőrizze a xdg- utils telepítését és állítsa be a megfelelő Asztali mappát" + +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "A GNOME fájlkezelő nem található" + +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "A GNOME Fájlkezelő szükséges a Gtk4 asztali ikonokhoz." + +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Nincs alapértelmezett fájlkezelő" + +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Nincs olyan alkalmazás, amely kezeli a \"inode/directory\" mimetypeot" + +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "A Gnome fájlkezelő nincs regisztrálva fájlkezelőként" + +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"A Gnome fájlkezelő nincs beállítva mappák megnyitására!\n" +"Ellenőrizd az xdg-utils telepítésedet.\n" +"Ellenőrizd a Gnome fájlkezelő .desktop fájl telepítését" + +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Az új keresés előtt törölje az aktuális kijelölést" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Fájlok keresése az asztalon" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Új mappa" + +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "A mappa létrehozása nem sikerült" + +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Nem sikerült a mappát létrehozni" + +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Nem sikerült megnyitni az asztalt a Gnome fájlkezelőben" + +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "A preferenciák ablak meg van nyitva" + +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Ez az ablak meg van nyitva. Válts át az aktív ablakra." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Beállítások" + +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Sablon létrehozási hiba" + +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Nem sikerült létrehozni a dokumentumot" + +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Név" + +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Név Z-A" + +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Módosítási idő" + +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Típus" + +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Méret" + +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Tartsa rendezve…" + +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Típus szerinti csoportosítás megtartása…" + +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Kezdőlap/Meghajtók/Kuka rendezése…" + +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Asztal megváltoztatása" + +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Alapértelmezett asztal visszaállítása" + +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Az asztali ikonok beállításai" + +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Gyorsbillentyűk megjelenítése" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Új dokumentum" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Beillesztés" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Visszavonás" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Újra" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Összes kiválasztása" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Ikonok rendezése" + +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Rendezés…" + +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Mutasd az asztalt ebben: {0}" + +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Megnyitás ebben: {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Widgetek szerkesztése…" + +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell menü…" + +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Szimbolikus hivatkozás létrehozása sikertelen" + +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Szimbolikus hivatkozás létrehozása sikertelen" + +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Másolás/Áthelyezés sikertelen" + +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} nem létezik" + +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Válasszon műveletet a fájlkezelőnek" + +#: app/dragManager.js:792 +msgid "Move" +msgstr "Áthelyezés" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Másolás" + +#: app/dragManager.js:792 +msgid "Link" +msgstr "Hivatkozás" + +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Mappa" + +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Fájl" + +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "A fájl megnyitása sikertelen" + +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Nincs olyan alkalmazás, amely megnyitja a(z) \"{fo}\" fájlokat." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Új mappa {0} elemmel" +msgstr[1] "Új mappa {0} elemmel" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Összes megnyitása…" + +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Indítás" + +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Megnyitás ezzel: {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Megnyitás" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Kibontás ide" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Kibontás…" + +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Megnyitás ezzel..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Összes megnyitása egyéb alkalmazással…" + +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Futtatás az integrált videokártyával" + +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Típus szerinti csoportosítás" + +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Típus szerinti csoportosítás feloldása" + +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Futtatás programként" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Szkriptek" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Kivágás" + +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Áthelyezés ide..." + +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Másolás ide..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Átnevezés…" + +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Hivatkozás létrehozása..." + +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "{0} mappa tömörítése" +msgstr[1] "{0} mappa tömörítése" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "{0} fájl tömörítése" +msgstr[1] "{0} fájl tömörítése" + +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "E-mail ide…" + +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Küldés mobileszközre" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Áthelyezés a Kukába" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Végleges törlés" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Indítás tiltása" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Kuka ürítése" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Kiadás" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Leválasztás" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Gyakori tulajdonságok" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Tulajdonságok" + +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Összes mutatása itt: {0}" + +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Megjelenítés itt: {0}" + +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Megnyitás ebben: {0}" + +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Elem megnyitása" + +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Kibontás megszakítva" + +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Nem sikerült kibontani a fájlt, mert nincs cél mappa" + +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Cél kiválasztása" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Kiválasztás" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Mappa nem küldhető el e-mailben" + +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "A kijelölés mappát tartalmaz, legyen tömörítve egy .zip fájlba előbb?" + +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Mail hiba" + +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Nem sikerült megtalálni a zip parancsot, kérjük, telepítsd a programot" + +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archívum.zip" + +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Volt egy hiba a zip archívum létrehozásakor" + +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Nem található az xdg-email, kérjük, telepítsd a programot" + +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Hiba történt a fájlok e-mail-ben való elküldésekor" + +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Nem nyitható meg a munkamappa" + +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Nem sikerült megnyitni a Gnome konzolban" + +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Kérjük, telepítsd a Gnome Konzolt, vagy más terminál programot" + +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "{0} megnyitása sikertelen" + +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Kérjük, telepítsd ezt: {0}" + +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Másolás megszakítva" + +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Hiba a fájlok másolásakor, nincs célmappa" + +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Áthelyezés megszakítva" + +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Hiba a fájlok áthelyezésekor, nincs célmappa" + +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ nem tudja megnyitni az ilyen típusú fájlokat!" + +#: app/preferences.js:1078 +msgid "Console" +msgstr "Konzol" + +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Alapértelmezett gyorsbillentyű:" + +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Írd be az újat..." + +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Módosító + billentyű (pl. Ctrl + Alt + D)" + +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Visszaállítás alapértelmezettre" + +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Nincs gyorsbillentyű" + +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "A rendszer gyorsbillentyűi" + +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Gyakori rendszer által definiált billentyű gyorsparancsok" + +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Helyi gyorsbillentyűk" + +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Az alkalmazás gyorsbillentyűi" + +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Globális gyorsbillentyűk" + +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "A rendszer gyorsbillentyűi" + +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Gyorsbillentyűk" + +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Gyorsbillentyűk visszaállítása" + +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Az összes gyorsparancs visszaállítása alapértelmezettre" + +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Minden visszaállítása..." + +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Az asztal megjelenítése a fájlokban" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Megnyitás terminálban" + +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Háttér módosítása" + +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Képernyő beállítások megváltoztatása" + +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Desktop Icon beállítások megváltoztatása" + +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Ikonok rendberakása" + +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Rendezés megtartása" + +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Csoportosítás megtartása" + +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Speciális mappák rendezése" + +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Ikonok rendezése név szerint" + +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Ikonok rendezése név szerint csökkenő sorrendben" + +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Ikonok rendezése a módosítás időpontja alapján" + +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Ikonok rendezése típus szerint" + +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Ikonok rendezése méret alapján" + +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Fájlok keresése" + +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Asztal frissítése" + +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Rejtett fájlok megjelenítése" + +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Kijelölés megszüntetése" + +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Előnézet" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "Widget réteg ki-/bekapcsolása" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Modul hozzáadása" + +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Balra lévő ikon kiválasztása" + +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Jobbra lévő ikon kiválasztása" + +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Felfelé lévő ikon kiválasztása" + +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Lefelé lévő ikon kiválasztása" + +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Menü megjelenítése" + +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "A shell háttérmenüjének megjelenítése" + +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Parancsikon létrehozása" + +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Szövegbeviteli gyorsbillentyűk bekapcsolása" + +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Szövegbeviteli gyorsbillentyűk kikapcsolása" + +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Gyorsbillentyűk megjelenítése" + +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Az asztali ikonok megjelenítése/eltüntetése" + +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "További információ" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Saját mappa" + +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Lomtár" + +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Csoport:" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Hibás hivatkozás" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Ez fájl nem nyitható meg, mert egy hibás szimbolikus hivatkozás" + +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Meghajtó" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +msgid "Widget preferences" +msgstr "Widget beállítások" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "HTML widget" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "GTK widget" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Felhasználó" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Engedélyez" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Szigorú" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" +"A widget egy szigorúan sandboxolt webes környezetben fut.\n" +"\n" +"• Külső szkriptek vagy beágyazott keretek nem használhatók.\n" +"• A hálózati hozzáférés biztonságos (HTTPS) kapcsolatokra van limitálva.\n" +"• Csak a widget saját fájljai vagy beágyazott kódja futhat.\n" +"\n" +"Ez a legbiztonságosabb opció és ez ajánlott a legtöbb widgethez." + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Nyugodt" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" +"A widget több webes funkciót használhat.\n" +"\n" +"• Külső szkriptek, stílusok, képek és beágyazott keretek betölthetnek " +"megbízható oldalakról.\n" +"• Hálózati hozzáférés HTTPS-en, WebSocketeken és médiafolyamokon keresztül " +"engedélyezett.\n" +"\n" +"Csak olyan widgetekhez használja ezt, amikben megbízik." + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Fejlesztés" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" +"A widget fejlesztőbarát web hozzáféréssel fut.\n" +"\n" +"• Kapcsolatok helyi fejlesztő-szerverekhez (localhost) engedélyezve vannak.\n" +"• HTTP és WebSocket hozzáférés engedélyezhető teszteléshez.\n" +"\n" +"Ez az opció csak fejlesztéshez és hibakereséshez ajánlott." + +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Alapértelmezett" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" +"A widget előre meghatározott webes biztonsági szabályokkal fut.\n" +"\n" +"A Web hozzáférés és képességek az aktív szabályok szerint vannak limitálva." + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "Engedélyezi a webes tartalmat ehhez: {widgetId}?" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" +"A widget amit éppen hozzáad betölthet webes tartalmat az internetről.\n" +"\n" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" +"Ez a tartalom a widget biztonsági szabályai alá tartozik:\n" +"\n" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" +"Ez a widget, {widgetId} egy háttérfolyamatot futtat a számítógépén.\n" +"\n" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" +"A háttérrendszer az ön normál felhasználói jogosultságaival fut, mint " +"bármely másik alkalmazás amit elindít.\n" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" +"Hozzáférhet a fájljaihoz, rendszererőforrásaihoz, és a hálózathoz a " +"felhasználói fiókjának jogosultságai szerint.\n" +"\n" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Parancs:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "Csak olyan widgeteknek engedélyezze ezt, amikben különösen megbízik." + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "Engedélyezi a widget háttérrendszert?" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +msgid "Widget Preferences" +msgstr "Widget beállítások" + +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" nem elérhető" + +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Telepítsd a(z) \"${programName}\" programot az ilyen műveletek elvégzéséhez." + +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Az asztal mappájának kiválasztása" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "A parancs nem található" + +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Válassz egy alkalmazást a kiválasztott fájlok megnyitásához." + +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Mindig használja ehhez a fájltípushoz" + +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Mégsem" + +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "M_egnyitás" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Ikonok megjelenítése a GNOME asztalon" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"asztali, ikonok, akták, mappák, kezelők, szervezők, bújócskák, bemutatók, " +"kilövők, rövidítések;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "< > Elrejtés" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Előirányzatok" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Kikapcsolás" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Ikonméret" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Az asztali ikonok méretének beállítása." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Személyes mappa megjelenítése" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "A személyes mappa megjelenítése az asztalon." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Kuka ikon megjelenítése" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "A kuka ikon megjelenítése az asztalon." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Új ikonok kezdősarka" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Beállítja a sarkot, ahová az ikonok helyezve lesznek." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "A külső meghajtók megjelenítése az asztalon" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "A számítógéphez csatlakoztatott lemezmeghajtók megjelenítése." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "A hálózati meghajtók megjelenítése az asztalon" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Csatolt hálózati kötetek megjelenítése az asztalon." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Új meghajtók hozzáadása a képernyő ellentétes oldalán" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Ha lemezeket és köteteket ad az asztalhoz, akkor a képernyő ellentétes " +"oldalán teszi." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Egy négyzetet jelenít meg a célhelyen fogd és vidd művelet esetén" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Amikor fogd és vidd művelet végez, akkor a rácshelyen egy ikont fog " +"megjeleníteni egy félig áttetsző négyzetben." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Speciális mappák rendezése - Otthon/Lomtár meghajtók." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Asztali ikonok rendezésekor a Könyvtár, Lomtár és csatlakoztatott hálózati " +"vagy külső meghajtók sorrendjének és helyzetének módosítása" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Ikonok rendezésének megtartása" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Ikonok mindig a legutóbbi sorrend szerint legyenek rendezve" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Sorrend rendezése" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Ikonok rendezve ez a tulajdonság alapján" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Az ikonok maradjanak csoportosítva" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "" +"Mindig tartsa az ikonokat csoportosítva, hasonló típusok egy csoportba " +"kerülnek" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "A fájlok típusa, amik ne legyenek csoportosítva" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "" +"Egy string típusú array, az ilyen típusú fájlok ne legyenek csoportosítva" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Adjon egy emblémát a hivatkozásokhoz" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Adjon hozzá egy emblémát a szimbolikus linkek felismeréséhez." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Címkék szövegcíme legyen fekete" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Legyen a címkék szövege fekete, fehér helyett. Hasznos fehér hátterek " +"használatakor." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "" +"Az új ikonok a nem elsődleges monitoron jelenjenek meg, ha csatlakoztatva van" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Hogyha csatlakoztatva van egy második monitor, az új ikonok ott fognak " +"megjelenni" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Az ikonok bárhol elhelyezhetők az asztalon" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Az ikonok ne legyenek a rácshoz kötve, bárhol el lehessen helyezni őket" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Grafikus felületi elemek" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "Megjeleníti a widgeteket egy rétegben az ikonok alatt ha telepítve van" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Az összes asztali ablak elrejtése/megjelenítése" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Az ikonok megjelenítése az asztalon, vagy mind elrejtése" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Felhasználói alkalmazásgyorsbillentyűk" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Az alapértelmezett parancsikonok felülírása a felhasználó által" diff --git a/ding/po/id.po b/ding/po/id.po new file mode 100644 index 0000000..0c25139 --- /dev/null +++ b/ding/po/id.po @@ -0,0 +1,2074 @@ +# 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, 2019. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# LibreTranslate , 2023, 2024, 2026. +# Sundeep Mediratta , 2026. +# Arif Budiman , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:10+0000\n" +"Last-Translator: Weblate \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" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Menimpa" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "Sesuaikan tampilan ikon desktop dengan CSS" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" +"Peringatan: Ini dapat merusak ekstensi jika dilakukan dengan tidak benar" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "Edit Berkas Penggantian CSS..." + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "Terapkan Perubahan CSS Sekarang" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "Muat ulang CSS untuk menerapkan perubahan segera" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Pintas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Sunting Jalan Pintas..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Sunting Jalan Pintas Aplikasi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Pintas Dapat disunting hanya ketika Ekstensi Diaktifkan..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Bantuan menerjemahkan dalam peramban web Anda" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Berkas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Dua" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Lebih" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Pengaturan Desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Pengaturan untuk Program Desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Folder Desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Desktop Saat ini:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Pengaturan Berkas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Pengaturan terbagi dengan Berkas Gnome" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Lain-lain Dua" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Ukuran untuk ikon destop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Kecil" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Kecil" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Standar" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Besar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Perataan ikon baru" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Sudut kiri atas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Pojok kanan atas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Sudut kiri bawah" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Sudut kanan bawah" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Tambahkan ikon baru ke Monitor Second pertama, jika tersedia" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Kaitkan ikon ke kisi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Widget desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Folder Desktop Baru" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Mengatur folder baru bagi desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Pilih" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Atur Desktop kembali ke ~ /" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Kembalikan Folder Desktop Baku" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Pulihkan" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Tandai kisi drop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Tambahkan emblem informasi untuk link, enkripsi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Gunakan teks gelap di label ikon" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Tampilkan folder pribadi pada desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Tampilkan ikon tempat sampah pada desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Tampilkan drive eksternal di desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Tampilkan drive jaringan pada desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Tambahkan drive baru ke sisi lain desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Aksi untuk Membuka Objek" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Klik tunggal" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Klik ganda" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Tampilkan gambar mini" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Selalu" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Di komputer ini saja" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Tidak pernah" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Tampilkan butir menu konteks untuk dihapus permanen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Tampilkan berkas tersembunyi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Buka folder saat seret hover" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Tentang..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Terjemahan" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Mesin diterjemahkan menggunakan LibreTranslate. Pengguna diverifikasi dan " +"diedit pada Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Sunting Terjemahan" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Verifikasi, tambahkan atau benar terjemahan dalam peramban web Anda" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Terjemahkan" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Pilih aplikasi untuk dibuka {foo} < / b >" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Buka Item" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Buka Folder" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Buka Berkas" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Galat mengubah aplikasi baku" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" +"Kesalahan saat menetapkan {foo} sebagai aplikasi bawaan untuk {mimetype}" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Hak Akses Tak Valid di Berkas Aplikasi" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Berkas AppImage ini memiliki Hak Akses yang salah." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Klik Kanan untuk menyunting Properti, kemudian:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Set Hak, di" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Akses Lainnya" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Hanya Baca" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "atau" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Nihil" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Aktifkan opsi" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Ijinkan Menjalankan Berkas sebagai Program" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Berkas AppImage Tak Dipercaya" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "App ini Berkas gambar tak terpercaya, tak dapat diluncurkan." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Untuk mengaktifkan peluncuran, klik kanan, lalu:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "aktifkan" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Izinkan Peluncuran" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Nama folder" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Nama berkas" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "OK" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Ganti Nama" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Otomatis Ar belum terpasang" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Untuk dapat bekerja dengan berkas terkompresi, pasang file- roller dan / " +"atau gir- 1.2-gnome AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Mengekstrak berkas" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Kompres berkas" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Batal" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Masukkan sandi di sini" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Menghapus sebagian berkas '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Membuat folder tujuan" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Mengekstrak berkas ke '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Ekstraksi selesai" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Mengekstrak '${fullPathFile}' telah selesai." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Ekstraksi dibatalkan" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Mengekstrak '${fullPathFile}' telah dibatalkan oleh pengguna." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Frasa sandi diperlukan untuk ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Galat selama ekstraksi" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Kompres berkas ke '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Kompresi selesai" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Kompres berkas ke '${outputFile}' telah selesai." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Kompresi dibatalkan" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Berkas keluaran '${outputFile}' sudah ada." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "Kompres berkas ke '${outputFile}' telah dibatalkan oleh pengguna." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Galat selama kompresi" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Buat arsip" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Nama archive" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Sandi" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "Buat" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Cocok dengan semua sistem operasi." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Sandi terproteksi .zip, harus dipasang pada Windows dan Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Arsip kecil tapi Linux dan Mac saja." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Arsip kecil tetapi harus diinstal pada Windows dan Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Desktop Yang Ditampilkan dapat ditulisi oleh orang lain" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop berkas tidak dapat diluncurkan dari Desktop ini sebagai Folder " +"Desktop dapat ditulisi oleh pengguna lain.\n" +"\n" +"Periksa hak akses Folder Desktop ini, dan pastikan tidak dapat ditulisi oleh " +"orang lain." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Berkas Desktop Rusak" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Berkas .desktop ini memiliki kesalahan atau titik ke suatu program tanpa " +"izin. Hal ini tidak dapat dieksekusi.\n" +"\n" +"Sunting berkas untuk menata Program Executable yang benar." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Hak Akses Tak Valid di Berkas Desktop" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Berkas Desktop ini memiliki Hak Akses yang salah." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Berkas Desktop Tak Dipercaya" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Berkas Desktop ini tak dipercaya, tak dapat diluncurkan." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Tidak dapat membuka Berkas" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} tidak dapat membuka berkas dari Tipe ini!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Folder Desktop Perubahan Gagal" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Folder Desktop Baru adalah Taut Simbolik" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Folder Desktop Baru tidak ada atau bukan Folder!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Folder Desktop Diubah" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Berpindah ke Desktop baru..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Ikon Desktop" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Mutakhirkan Desktop" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +#, fuzzy +msgid "Toggle Widget Grid" +msgstr "Alihkan Lapisan Widget" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Tambahkan Widget" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Penyangga Bingkai Monitor Skala tak diaktifkan" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Beberapa monitor dengan zoom setting yang berbeda, merekomendasikan skala " +"framebuffer per monitor.\n" +"\n" +"Harap aktifkan dalam Pengaturan Dconf Mutter" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Beberapa monitor dengan zoom setting yang berbeda.\n" +"\n" +"Aktifkan setiap monitor framebuffer skala dalam Pengaturan Dconf Mutter?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Aktifkan" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Tak Bisa Tampilkan Desktop" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Folder Desktop {desktop} adalah Link simbolik\n" +"\n" +"Silakan atur Folder Desktop ke Folder asli" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Folder Desktop {desktop} tidak ada, atau bukan sebuah Direktori\n" +"\n" +"Periksa instalasi xdg-utils Anda dan atur Folder Desktop yang benar" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME Berkas tak ditemukan" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "GNOME Aplikasi berkas diperlukan oleh Ikon Desktop Gtk4 NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Tidak ada Manajer Berkas baku" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Tidak ada aplikasi yang menangani mimetype \"inode / directory\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Berkas Gnome tidak terdaftar sebagai Manajer Berkas" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Aplikasi Berkas Gnome tidak diprogram untuk membuka Folder!\n" +"Periksa instalasi xdg-utils Anda\n" +"Periksa .desktop Berkas Gnome Instalasi berkas" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Bersihkan pilihan kini sebelum pencarian baru" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Cari Berkas di Desktop" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Folder Baru" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Pembuatan Folder Gagal" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Tidak dapat membuat folder" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Tak bisa membuka Desktop dalam Berkas Gnome" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Jendela Preferensi Terbuka" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Jendela ini terbuka. Harap beralih ke jendela aktif." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Pengaturan" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Galat Penciptaan Templat" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Tak bisa membuat dokumen" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Nama" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Nama ZA" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Waktu Diubah" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Tipe" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Ukuran" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Tetap atur.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Keep Stacked by Type.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Urutkan Home / Drives / Tong Sampah.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Ubah Desktop" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Kembalikan Desktop Baku" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Pengaturan Ikon Desktop" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Tampilkan Jalan Pintas" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Dokumen Baru" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Tempel" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Tak Jadi" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Jadi Lagi" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Pilih Semua" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Atur Ikon" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Arrange By.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Tampilkan Desktop Dalam {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Buka Dalam {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Edit widget" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell Menu.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Membuat SymLink Gagal" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Tak bisa membuat taut simbolik" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Salin / pindahkan Gagal" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} Tidak ada" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Pilih Aksi untuk Berkas" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Pindah" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Salin" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Taut" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Folder" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Berkas" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Gagal Membuka Berkas" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Tidak ada aplikasi yang terpasang untuk membuka \"{fo}\" berkas." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Folder Baru dengan {0} butir" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Buka Semua..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Luncurkan" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Buka dengan {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Buka" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Ekstrak Di Sini" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Ekstrak ke…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Buka Dengan..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Buka Semua Dengan Aplikasi Lain..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Luncurkan menggunakan Kartu Grafik Terpadu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Stack Tipe Ini" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Hapus Tipe Ini" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Jalankan sebagai Program" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Skrip" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Potong" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Pindah ke..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Salin ke..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Ganti Nama…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Buat Tautan..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Kompres folder {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Kompres {0} berkas" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Email ke..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Kirim ke Perangkat Seluler" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Pindahkan ke Tong Sampah" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Hapus permanen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Jangan Izinkan Peluncuran" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Kosongkan Tong Sampah" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Keluarkan Media" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Lepas Kaitan" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Properti Umum" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Properti" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Tampilkan Semua di {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Tampilkan di {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Buka dalam {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Butir Terbuka" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Ekstraksi Dibatalkan" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Tak bisa mengekstrak Berkas, tak ada folder tujuan" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Pilih Tujuan" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Pilih" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Tidak dapat email direktori" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Pilihan termasuk Direktori, kompres ke berkas .zip pertama?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Kesalahan Surat" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Tak bisa temukan perintah zip, silakan pasang program" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Ada kesalahan dalam membuat sebuah arsip zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Tidak dapat menemukan xdg-email, silakan instal program" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Terjadi galat pada berkas surel" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Tidak dapat membuka Direktori Kerja" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Tidak dapat membuka dalam Konsol Gnome" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Silakan Pasang Konsol Gnome atau Program Terminal lainnya" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Tidak dapat membuka {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Silakan Pasang {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Salin Dibatalkan" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Tak bisa menyalin Berkas, tak ada folder tujuan" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Pindah Dibatalkan" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Tak bisa memindah Berkas, tak ada folder tujuan" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName $tidak dapat membuka berkas dari Tipe ini!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Konsol" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Pintas Baku:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Tipe baru..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modifier + Key (mis. Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Reset ke Baku" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Tanpa Akselerator" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Jalan Pintas Sistem" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Jalan Pintas Papan Ketik Definisi Biasa" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Jalan Pintas Lokal" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Pintas Papan Ketik Aplikasi" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Jalan Pintas Global" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Jalan Pintas Papan Ketik Sistem" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Jalan Pintas Papan Ketik" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Reset Jalan Pintas" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Reset semua jalan pintas ke Baku" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Reset Semua..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Tampilkan Desktop dalam Berkas" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Buka dalam Terminal" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Ubah Latar Belakang" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Ubah Pengaturan Tampilan" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Ubah Pengaturan Ikon Desktop" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Bersihkan Ikon" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Tetap Atur" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Terus Stack" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Urutkan Folder Khusus" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Atur Ikon menurut Nama" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Atur Ikon Dengan Nama Turun" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Atur Ikon Dengan Waktu Yang Diubah" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Atur Ikon Dengan Jenis" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Atur Ikon Berdasarkan Ukuran" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Cari Berkas" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Mutakhirkan Desktop" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Tampilkan Berkas Tersembunyi" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Tak Pilih Semua" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Pratilik" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "Alihkan Lapisan Widget" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Tambahkan Widget" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Pilih Ikon Kiri" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Pilih Ikon Kanan" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Pilih Ikon Naik" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Pilih Ikon Turun" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Tampilkan Menu" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Tampilkan Menu Latar Belakang Shell" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Buat Jalan Pintas Desktop" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Penutup Aktif Teks" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Penuduh Entri Teks Matikan" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Tampilkan Jalan Pintas Penilik" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Tampilkan Atau Sembunyikan Ikon Desktop" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Informasi Lebih" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Rumah" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Tempat Sampah" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Stack" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Tautan Rusak" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Tidak dapat membuka berkas ini karena ini adalah Symlink Broken" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Drive" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Preferensi" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "Widget HTML" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "Widget GTK" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Pengguna" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Izinkan" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Ketat" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" +"Widget berjalan dalam lingkungan web yang disandbox secara ketat.\n" +"\n" +"- Tidak ada skrip atau bingkai eksternal yang diizinkan.\n" +"- Akses jaringan dibatasi pada permintaan aman (HTTPS).\n" +"- Hanya berkas milik widget sendiri dan kode inline yang boleh berjalan.\n" +"\n" +"Ini adalah opsi paling aman dan direkomendasikan untuk sebagian besar widget." + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Santai" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" +"Widget diizinkan memiliki kemampuan web yang lebih luas.\n" +"\n" +"- Skrip, gaya, gambar, dan bingkai eksternal dari situs web tepercaya dapat " +"dimuat.\n" +"- Akses jaringan melalui HTTPS, WebSockets, dan aliran media diizinkan.\n" +"\n" +"Gunakan ini hanya untuk widget yang Anda percayai." + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Perkembangan" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" +"Widget berjalan dengan akses web yang ramah pengembangan.\n" +"\n" +"- Koneksi ke server pengembangan lokal (localhost) diizinkan.\n" +"- Akses HTTP dan WebSocket dapat diizinkan untuk pengujian.\n" +"\n" +"Mode ini dimaksudkan hanya untuk pengembangan dan debugging." + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Bawaan" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" +"Widget berjalan dengan kebijakan keamanan web yang telah ditentukan " +"sebelumnya.\n" +"\n" +"Akses dan kemampuan web dibatasi sesuai kebijakan yang aktif." + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "Izinkan konten web untuk {widgetId}?" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" +"Widget yang Anda tambahkan dapat memuat konten web dari internet.\n" +"\n" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" +"Konten ini tunduk pada kebijakan keamanan widget:\n" +"\n" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" +"Widget ini, {widgetId} menjalankan proses latar belakang di komputer Anda.\n" +"\n" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" +"Backend berjalan dengan izin pengguna normal Anda, sama seperti aplikasi " +"lain yang Anda jalankan.\n" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" +"Backend dapat mengakses berkas Anda, sumber daya sistem, dan jaringan sesuai " +"izin akun pengguna Anda.\n" +"\n" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Perintah:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "Hanya izinkan ini untuk widget yang benar-benar Anda percayai." + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "Izinkan backend widget?" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Preferensi" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" tidak tersedia" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Pasang \"${programName}\" untuk mengaktifkan Ikon Desktop untuk melakukan " +"aksi ini." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Pilih Folder Desktop" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Perintah tidak ditemukan" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Pilih aplikasi untuk membuka berkas yang dipilih." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Selalu gunakan untuk tipe berkas ini" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_ Batal" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_ Buka" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Tampilkan ikon pada desktop GNOME" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"desktop; ikon; berkas; folder; manajer; atur; sembunyikan; tampilkan; " +"peluncur; jalan pintas;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Tampilkan < > Sembunyikan" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Preferensi" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Matikan" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Ukuran ikon" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Set ukuran untuk ikon destop." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Tampilkan folder pribadi" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Tampilkan folder pribadi di destop." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Tampilkan ikon tong sampah" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Tampilkan ikon tong sampah di destop." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Sudut awal ikon baru" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Atur sudut dari mana ikon akan mulai ditempatkan." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Tampilkan drive eksternal di desktop" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Tampilkan disk drive yang terhubung ke komputer." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Tampilkan drive jaringan di desktop" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Tampilkan volume jaringan terpasang di desktop." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Tambahkan kandar baru ke sisi berlawanan layar" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Ketika menambahkan drive dan volume ke desktop, tambahkan mereka ke sisi " +"berlawanan layar." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Tampilkan persegi panjang di tempat tujuan selama DND" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Ketika melakukan operasi Drag 'n' Drop, tandai tempat di grid di mana ikon " +"akan diletakkan dengan persegi panjang semitransent." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Urutkan Folder Khusus - Home / Trash Drives." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Ketika mengurutkan ikon pada desktop, untuk mengurutkan dan mengubah posisi " +"Home, Trash dan mount Network atau Drives Eksternal" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Pertahankan Ikon Diatur" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Selalu simpan Ikon Diatur dengan urutan terakhir yang diatur" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Urutan Atur" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Ikon Diatur oleh properti ini" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Jauhkan Ikon Stacked" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Selalu jaga Ikon Stack, tipe serupa dikelompokkan" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Tipe Berkas untuk tak Stack" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Jenis array string, Jangan Stack jenis berkas" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Tambahkan lambang ke taut" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "" +"Tambahkan sebuah lambang untuk memungkinkan untuk mengidentifikasi link " +"lunak." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Gunakan hitam untuk teks label" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Cat teks label dalam warna hitam bukan putih. Berguna ketika menggunakan " +"latar belakang cahaya." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Tampilkan ikon baru pada monitor bukan primer bila tersambung" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Bila monitor kedua tersambung, ikon baru ditempatkan pada monitor non primer" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ikon dapat diletakkan dimana saja di Desktop" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ikon tidak pada kisi persegi panjang tetapi dapat ditempatkan di mana saja " +"independen dari kisi" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Widget desktop" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "Menampilkan Widget pada lapisan di bawah ikon jika terpasang" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Sembunyikan / Tampilkan semua jendela desktop" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Tampilkan ikon pada desktop, atau sembunyikan semuanya" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Jalan Pintas Aplikasi Pengguna" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Timpa jalan pintas aplikasi bawaan yang ditata oleh Pengguna" diff --git a/ding/po/it.po b/ding/po/it.po new file mode 100644 index 0000000..e985d54 --- /dev/null +++ b/ding/po/it.po @@ -0,0 +1,1990 @@ +# Italian 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. +# Massimo Branchini , 2019. +# Milo Casagrande , 2019. +# Albano Battistella , 2022. +# Weblate , 2023, 2024, 2025, 2026. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# LibreTranslate , 2024, 2026. +# albanobattistella , 2024, 2025. +# Fabian Esposito , 2025, 2026. +# Jimmy Scionti , 2025, 2026. +# dev0null , 2025, 2026. +# Visconte di Carmagnola , 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:10+0000\n" +"Last-Translator: Weblate \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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Ignora default" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Scorciatoie" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Modifica le scorciatoie…" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Modifica le scorciatoie delle applicazioni" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Le scorciatoie sono modificabili solo quando l'estensione è abilitata…" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Aiuta a tradurre dal browser web" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Scrivania" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "File" + +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Personalizzazioni" + +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Altro" + +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Impostazioni Scrivania" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Impostazioni per il programma Scrivania" + +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Cartella Scrivania" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Scrivania attuale: " + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Impostazioni file" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Impostazioni condivise con File" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Personalizzazioni varie" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Dimensione delle icone sulla scrivania" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Minuscola" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Piccola" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Normale" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Grande" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Allineamento delle nuove icone" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "In alto a sinistra" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "In alto a destra" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "In basso a sinistra" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "In basso a destra" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" +"Aggiungere le nuove icone prima negli schermi secondari, se disponibili" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Aggancia le icone alla griglia" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Widget desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Nuova cartella Scrivania" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Impostare una nuova cartella per la Scrivania" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Scegli" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Ripristinare la Scrivania su ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Ripristina la cartella Scrivania predefinita" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Ripristina" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Evidenzia la griglia al rilascio" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Aggiungi emblemi informativi per link, crittografia" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Usa testo scuro nelle etichette delle icone" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Mostra la cartella Home sulla scrivania" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Mostra l'icona del cestino sulla scrivania" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Mostra i dischi esterni sulla scrivania" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Mostra i dischi di rete sulla scrivania" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Aggiungi le nuove periferiche sul lato opposto dello schermo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Azione per aprire gli elementi" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Click singolo" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Doppio click" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Mostra le anteprime delle immagini" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Sempre" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Solo su questo computer" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Mai" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Mostra un elemento del menù contestuale per l'eliminazione definitiva" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Mostra i file nascosti" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Apri cartelle nel al passaggio del mouse durante il trascinamento" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Informazioni…" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Traduzione" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Traduzione automatica con LibreTranslate. Verificata e modificata dagli " +"utenti su Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Modifica le traduzioni" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Verifica, aggiungi o correggi la traduzione dal browser web" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Traduci" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Scegliere un'applicazione per aprire {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Elementi aperti" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Apri cartella" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Apri file" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Errore durante la modifica dell'applicazione predefinita" + +# MT: LibreTranslate +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" +"Errore durante l'impostazione di {foo} come applicazione predefinita per " +"{mimetype}" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Permessi non validi su AppImage File" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Questo file AppImage ha autorizzazioni errate." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Clic destro per modificare Proprietà, quindi:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Imposta le autorizzazioni, in" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Accesso degli altri" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Solo lettura" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "o" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Nessuno" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Attiva opzione" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Consentire l'esecuzione del file come programma" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "File di AppImage non attendibile" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Questo file AppImage non è attendibile, non può essere avviato." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Per abilitare l'avvio, dare clic destro, quindi:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "abilita" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Permetti l'esecuzione" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Nome della cartella" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Nome del file" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "Ok" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Rinomina" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "AutoAr non è installato" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Per poter lavorare con file compressi, installare file-roller e/o gir-1.2-" +"gnomeAutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Estrazione file" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Compressione file" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Annulla" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Digitare una password qui" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Rimozione file parziale '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Creazione cartella di destinazione" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Estrarre file in '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Estrazione completata" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "L'estrazione '${fullPathFile}' è completa." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Estrazione annullata" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "L'estrazione '${fullPathFile}' è stata annullata dall'utente." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Frase segreta richiesta per ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Errore durante l'estrazione" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Compressione file in '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Compressione completata" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "La compressione dei file in '${outputFile}' è stata completata." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Compressione annullata" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Il file in uscita '${outputFile}' esiste già." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" +"La compressione dei file in '${outputFile}' è stata annullata dall'utente." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Errore durante la compressione" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Crea archivio" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Nome archivio" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Password" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "Crea" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Compatibile con tutti i sistemi operativi." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "" +"File .zip protetto da password, deve essere installato su Windows e Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Archivi più piccoli ma compatibili solo con Linux e Mac." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Archivi più piccoli ma devono essere installati su Windows e Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "La scrivania mostrata è scrivibile da altri" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"I file .desktop non possono essere eseguiti da questa Scrivania poiché la " +"cartella Scrivania è scrivibile da altri utenti.\n" +"\n" +"Si prega di controllare le autorizzazioni di questa cartella Scrivania, e " +"assicurarsi che non sia scrivibile da altri." + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "File corrotto in scrivania" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Questo file .desktop contiene errori o punti a un programma senza permessi. " +"Non può essere eseguito.\n" +"\n" +"Modificare il file per impostare l'eseguibile corretto." + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Permessi non validi nel file in scrivania" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Questo file Desktop ha autorizzazioni errate." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "File Desktop non fidato" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Questo file Desktop non è fidato, non può essere lanciato." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Impossibile aprire il file" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} non può aprire file di questo tipo!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Modifica della cartella Scrivania fallita" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "La nuova cartella Scrivania è un collegamento simbolico" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "La nuova cartella Scrivania non esiste o non è una cartella!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "La cartella Scrivania è stata cambiata" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Passaggio alla nuova scrivania..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Icone sulla scrivania" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Aggiorna scrivania" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Aggiungi widget" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Il framebuffer scaling dello schermo non è abilitato" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Per schermi multipli con diverse impostazioni di zoom è consigliata " +"l'attivazione del framebuffer scaling per ciascun schermo.\n" +"\n" +"Abilitare nelle impostazioni Dconf di Mutter" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Schermi multipli con diverse impostazioni di zoom.\n" +"\n" +"Abilitare il framebuffer scaling per ciascun schermo nelle impostazioni " +"Dconf di Mutter?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Abilita" + +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Impossibile mostrare la scrivania" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"La cartella Scrivania {desktop} è un collegamento simbolico\n" +"\n" +"Impostare la cartella Scrivania su una cartella reale" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"La cartella Scrivania {desktop} non esiste, o non è valida\n" +"\n" +"Controllare l'installazione di xdg-utils e impostare la cartella Scrivania " +"corretta" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "File non trovato" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "L'applicazione File è richiesta da Gtk4 Desktop Icons NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Non esiste un gestore file predefinito" + +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "" +"Non c'è nessuna applicazione per gestire il mimetype \"inode/directory\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "File non è registrato come gestore file" + +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"L'applicazione File non è programmata per aprire le cartelle!\n" +"Controllare l'installazione di xdg-utils\n" +"Controllare l'installazione del file .desktop di File" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Cancella la selezione corrente prima di una nuova ricerca" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Trova i file sulla scrivania" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Nuova cartella" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Creazione cartella non riuscita" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Impossibile creare la cartella" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Impossibile aprire la scrivania in File" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "La finestra delle preferenze è aperta" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Questa finestra è aperta. Passare alla finestra attiva." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Impostazioni" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Errore di creazione del modello" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Impossibile creare il documento" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Nome" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Nome Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Data di modifica" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Tipo" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Dimensione" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Allinea automaticamente…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Ordina per tipo…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Ordina Home/Periferiche/Cestino…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Cambiare la Scrivania" + +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Ripristina la Scrivania predefinita" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Impostazioni delle icona sulla scrivania" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Mostra scorciatoie" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Nuovo documento" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Incolla" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Annulla" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Ripeti" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Seleziona tutto" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Disponi icone" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Organizza…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Mostra scrivania In {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Apri in {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Modifica widget" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Menu contestuale…" + +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "La creazione del collegamento simbolico è fallita" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Impossibile creare il collegamento simbolico" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Copia/Sposta fallito" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} non esiste" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Scegliere l'azione per i file" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Sposta" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Copia" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Collegamento" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Cartella" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "File" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "L'apertura del file è fallita" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Nessuna applicazione installata per aprire il file \"{fo}\"." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Nuova cartella con {0} elemento" +msgstr[1] "Nuova cartella con {0} elementi" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Apri tutto…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Avvia" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Aprire con {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Apri" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Estrai qui" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Estrai in…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Apri con…" + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Apri tutto con un'altra applicazione…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Avvia utilizzando la scheda grafica integrata" + +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Impila questo tipo" + +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Disimpila questo tipo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Esegui come programma" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Script" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Taglia" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Sposta in…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Copia in…" + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Rinomina…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Crea collegamento…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Comprimi {0} cartella" +msgstr[1] "Comprimi {0} cartelle" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Comprimi {0} file" +msgstr[1] "Comprimi {0} file" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Email a…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Invia a un dispositivo" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Sposta nel cestino" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Elimina definitivamente" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Non permettere l'esecuzione" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Svuota il cestino" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Espelli" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Smonta" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Proprietà generali" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Proprietà" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Mostra tutto in {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Mostra in {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Apri in {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Apri elemento" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Estrazione annullata" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Impossibile estrarre il file, nessuna cartella di destinazione" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Selezionare la destinazione" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Seleziona" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Impossibile spedire via email una cartella" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "La selezione include una cartella, comprimerla in un file .zip prima?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Errore di posta" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Impossibile trovare il comando zip, installare il programma" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archivio.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Errore nella creazione dell'archivio zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Impossibile trovare xdg-email, installare il programma" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Errore nell'invio dei file via email" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Impossibile aprire la cartella di lavoro" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Impossibile aprire in Console" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Installare Console o altri terminali" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Impossibile aprire {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Installare {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Copia annullata" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Impossibile copiare i file, nessuna cartella di destinazione" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Spostamento annullato" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Impossibile spostare i file, nessuna cartella di destinazione" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ non può aprire file di questo tipo!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Console" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Scorciatoia predefinita:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Digita nuovo…" + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modificatore + tasto (es. Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Ripristina ai predefiniti" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Nessun acceleratore" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Scorciatoie di sistema" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Scorciatoie comuni da tastiera definite dal sistema" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Scorciatoie locali" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Scorciatoie da tastiera dell'applicazione" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Scorciatoie globali" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Scorciatoie da tastiera di sistema" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Scorciatoie da tastiera" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Reimposta le scorciatoie" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Reimposta tutte le scorciatoie predefinite" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Ripristina tutto…" + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Mostra la Scrivania in File" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Apri in Terminale" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Cambia lo sfondo" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Modifica le impostazioni di visualizzazione" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Modifica le impostazioni delle icone sulla scrivania" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Ripulisci le icone" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Allinea automaticamente" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Mantieni impilati" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Ordina cartelle speciali" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Ordina icone per nome" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Ordina icone in ordine alfabetico decrescente" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Organizzare icone per data di modifica" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Ordina icone per tipo" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Ordina icone per dimensione" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Trova i file" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Aggiorna scrivania" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Mostra i file nascosti" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Deseleziona tutto" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Anteprima" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Aggiungi widget" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Seleziona l'icona a sinistra" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Seleziona l'icona a destra" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Seleziona l'icona in alto" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Seleziona l'icona in basso" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Mostra menu" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Mostra il menu di sfondo della shell" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Crea scorciatoia sulla scrivania" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Attiva acceleratori di input testuale" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Disattiva acceleratori di input testuale" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Mostra scorciatoia Visualizzatore" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Mostrare o nascondere icone sulla scrivania" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Maggiori informazioni" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Home" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Cestino" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Lista" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Collegamento interrotto" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Non è possibile aprire questo file perché è un collegamento interrotto" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Periferica" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Preferenze" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Utente" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Consenti" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Stringente" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Rilassato" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Sviluppo" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Predefinito" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Comando:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Preferenze" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" non è disponibile" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Installare \"${programName}\" per attivare icone sulla scrivania per " +"eseguire queste azioni." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Scegli cartella Scrivania" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Comando non trovato" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Scegliere un'app per aprire i file selezionati." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Utilizzare sempre per questo tipo di file" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Annulla" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Apri" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Visualizza icone sulla scrivania" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "desktop;icone;file;cartelle;gestore;ordine;nascondi;mostra;lanciatore;scorciatoie;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Mostra<>Nascondi" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Preferenze" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Disattiva" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Dimensione dell'icona" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Imposta la dimensione delle icone della scrivania." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Mostra la cartella personale" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Mostra la cartella personale sulla scrivania." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Mostra il cestino" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Mostra il cestino sulla scrivania." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Angolo iniziale delle nuove icone" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Imposta l'angolo iniziale per il posizionamento delle icone." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Mostra le periferiche esterne sulla scrivania" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Mostra le periferiche connesse al computer." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Mostra le periferiche di rete sulla scrivania" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Mostra le periferiche di rete montate sulla scrivania." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Aggiungi le nuove periferiche sul lato opposto dello schermo" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"All'aggiunta di periferiche e dispositivi sulla scrivania, aggiungile sul " +"lato opposto dello schermo." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "" +"Mostra un rettangolo nel punto di destinazione durante il trascinamento" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Durante un'operazione di trascinamento, segna con un rettangolo " +"semitrasparente il posto nella griglia dove l'icona sarà posizionata." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Ordina cartelle speciali - Home/Cestino." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Quando si sistemano le icone sulla scrivania, ordina e cambia la posizione " +"delle cartelle Home, cestino e periferiche esterne o di rete montate" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Mantieni le icone in ordine" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Mantieni sempre le icone disposte secondo l'ultimo ordine" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Organizza la disposizione" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Icone ordinate per questa proprietà" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Mantieni le icone impilate" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Mantieni sempre le icone impilate, i tipi simili sono raggruppati" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Tipo di file da non impilare" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Un array di tipi di stringhe, non impilare questi tipi di file" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Aggiungi un'icona ai collegamenti" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "" +"Aggiungi un'icona per permettere di identificare i collegamenti simbolici." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Mostra in nero il testo delle etichette" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Colora di nero invece che bianco il testo delle etichette. Utile quando si " +"utilizzano sfondi chiari." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Mostra nuove icone sullo schermo non primario se collegato" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Se un secondo schermo è collegato, le nuove icone sono posizionate sullo " +"schermo non primario" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Le icone possono essere posizionate ovunque sulla scrivania" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Le icone non sono su una griglia rettangolare ma possono essere posizionate " +"ovunque indipendentemente dalla griglia" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Widget desktop" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Nascondi/Mostra tutte le finestre" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Mostra le icone sulla scrivania, o le nasconde tutte" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Scorciatoie dell'applicazione definite dall'utente" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" +"Sostituisce le scorciatoie predefinite delle applicazioni impostate " +"dall'utente" diff --git a/ding/po/ja.po b/ding/po/ja.po new file mode 100644 index 0000000..8dd4d6a --- /dev/null +++ b/ding/po/ja.po @@ -0,0 +1,1992 @@ +# Japanese translation for desktop-icons-ng. +# Copyright (C) 2021-2022 Desktop Icons NG's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons-ng package. +# Hayao Yamada , 2021. +# Mitsuya Shibata , 2021. +# sicklylife , 2021-2022. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# LibreTranslate , 2023, 2024, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# Shavazo , 2026. +# Makoto Sakaguchi , 2026. +# Sundeep Mediratta , 2026. +# LittleFox2024 , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-20 22:50+0000\n" +"Last-Translator: Weblate \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" +"X-Generator: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "文字をアスタリスク(*)に置き換え" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "CSSでデスクトップアイコンの外観をカスタマイズする" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "警告:誤った操作を行うと拡張機能が破損する可能性があります" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "CSS上書きファイルを編集..." + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "今すぐCSSの変更を適用する" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "変更を適用するにはCSSを再読み込みしてください" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "ショートカット" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "ショートカットを編集..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "アプリケーションショートカットの編集" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "ショートカット 拡張機能を有効にすると編集可能..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Webブラウザで翻訳する" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "デスクトップ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "ファイル" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "詳細" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "さらに表示" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "デスクトップ設定" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "デスクトッププログラムの設定" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "デスクトップフォルダ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "現在のデスクトップ: " + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "ファイル設定" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Gnomeファイルと共有設定" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "アクセサリー ツイート" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "デスクトップアイコンのサイズ" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "とても小さい" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "小さい" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "標準" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "大きい" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "新しいアイコンの配置位置" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "トップ左角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "右上の角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "最下左角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "ボトム右角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "利用可能な場合は、最初のSecond Monitorsに新しいアイコンを追加します" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "グリッドにスナップアイコン" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "デスクトップウィジェット" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "新しいデスクトップフォルダ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "デスクトップ用の新しいフォルダを設定する" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "選択" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "デスクトップを ~/ に設定する" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "デフォルトのデスクトップフォルダを復元する" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "リストア" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "ドロップグリッドをハイライト" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "リンク、暗号化のための情報エンブレムを追加" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "アイコンのラベルの文字を暗くする" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "デスクトップ上の個人フォルダを表示する" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "デスクトップにゴミ箱アイコンを表示" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "デスクトップ上の外部ドライブを表示" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "デスクトップにネットワークドライブを表示する" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "デスクトップの反対側に新しいドライブを追加" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "アイテムを開くアクション" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "シングルクリック" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "ダブルクリック" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "画像のサムネイルの表示" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "常に" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "このコンピューターのみ" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "しない" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "コンテキストメニューに“完全に削除”を表示する" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "隠しファイルを表示する" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "ドラッグホバーのフォルダを開く" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "この拡張機能について..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "コンテンツ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"LibreTranslate を使用して翻訳されたマシン。 Weblate でユーザー検証と編集." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "翻訳の編集" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Webブラウザで確認、追加、修正" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "ログイン" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "[{foo}]>を開くためのアプリケーションを選択" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "オープンアイテム" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "フォルダを開く" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "ファイルを開く" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "デフォルトのアプリケーションを変更するエラー" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "AppImage ファイルの無効な権限" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "この AppImage ファイルには、権限が不正確です." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "右クリックして、プロパティを編集します" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "許可の設定、" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "その他のアクセス" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "閲覧のみ" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "または" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "なし" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "オプションを有効にする" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "プログラムとしてファイルを実行する" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "信頼できないAppImageファイル" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "このアプリ 画像ファイルは信頼できません。起動できません." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "起動を有効にするには、右クリックし、次へ:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "有効活用" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "起動を許可する" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "フォルダー名" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "ファイル名" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "OK" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "名前の変更" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "オートマチック インストールされていない" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"圧縮ファイルで作業できるようにするには、ファイルローラーと/またはgir-1.2-" +"gnomeをインストールします。 オートアー" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "ファイルの抽出" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "ファイルの圧縮" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "キャンセル" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "パスワードを入力してください" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "部分ファイルの削除 ['${outputFile}']" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "宛先フォルダを作成する" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "'${outputPath}'にファイルを抽出する" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "抽出完了" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "'${fullPathFile}'の抽出が完了しました." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "抽出のキャンセル" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "'${fullPathFile}'をユーザが取り消してしまいました." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "[${filename}のパスフレーズ" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "抽出時のエラー" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "'${outputFile}'にファイルを圧縮する" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "圧縮完了" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "['${outputFile}'にファイルを圧縮しました." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "キャンセルされた圧縮" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "出力ファイル['${outputFile}']は既に存在しています." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "'${outputFile}'にファイルを圧縮すると、ユーザがキャンセルした." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "圧縮時のエラー" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "アーカイブの作成" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "アーカイブ名" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "パスワード" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "作成" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "すべてのオペレーティング システムと互換性がある." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "パスワードは、WindowsとMacにインストールする必要があります." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "小規模なアーカイブですが、Linux と Mac のみ." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "より小さなアーカイブは、WindowsとMacにインストールする必要があります." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "表示されたデスクトップは、他の人に書き込み可能" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskopファイルはデスクトップフォルダが他のユーザーによって書き込み可能である" +"ため、このデスクトップから起動できません。\n" +"\n" +"このデスクトップフォルダのパーミッションを確認し、他の人に書き込みできないこ" +"とを確認してください." + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "壊れたデスクトップファイル" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"この .desktop ファイルには、許可なくプログラムにエラーやポイントがあります。 " +"実行できません。\n" +"\n" +"ファイルを編集して、正しい実行プログラムを設定します." + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "無効な権限のデスクトップファイル" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "このデスクトップファイルには、権限が不正確です." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "信頼できないデスクトップファイル" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "このデスクトップファイルは信頼できません。起動できません." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "開けない ファイル" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "[{appName}]はこのタイプのファイルを開くことができません!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "デスクトップフォルダ 失敗した変更" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "新しいデスクトップフォルダは、象徴的なリンクです" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "新しいデスクトップフォルダは存在しませんか、フォルダではありません!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "デスクトップフォルダ変更" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "新しいデスクトップへの切り替え..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "デスクトップアイコン" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "デスクトップ更新" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "ウィジェットを追加" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "モニターフレームバッファ スケーリングは有効ではありません" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"異なるズーム設定で複数のモニター、モニターフレームバッファスケーリングごとに" +"推奨します。\n" +"\n" +"Mutter Dconf設定を有効にしてください" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"異なるズーム設定で複数のモニター。\n" +"\n" +"Mutter Dconf設定でモニターフレームバッファのスケーリングを有効にしますか?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "アクセス" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "デスクトップを表示できません" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"デスクトップフォルダ[{desktop}は、シンボリックリンクです\n" +"\n" +"デスクトップフォルダを実際のフォルダに設定してください" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"デスクトップフォルダ[{desktop}]は存在しません。またはディレクトリではありませ" +"ん。\n" +"\n" +"xdg-utilsのインストールを確認し、正しいデスクトップフォルダを設定する" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "グノーム 見つからないファイル" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "GNOME Gtk4 Desktop Icons NGでファイルアプリケーションが必要です." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "デフォルトファイルマネージャはありません" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Mimetype \"inode/directory\" を扱うアプリケーションはありません" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome ファイルがファイルマネージャとして登録されていない" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Gnomeファイルアプリケーションはフォルダを開くためにプログラムされていませ" +"ん!\n" +"xdg-utilsのインストールを確認してください\n" +"Gnomeファイルをチェック .desktop ファイルインストール" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "新しい検索の前に現在の選択をクリア" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "デスクトップ上のファイルを検索" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "新しいフォルダー" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "フォルダ作成失敗" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "フォルダを作成できません" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Gnomeファイルでデスクトップを開くことができない" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "設定ウィンドウが開きます" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "このウィンドウが開きます。 アクティブなウィンドウに切り替えてください." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "設定" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "テンプレート作成エラー" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "文書を作成できない" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "お名前 (必須)" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "名称 Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "変更された時間" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "タイプ:" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "サイズ:" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "アレンジを続け.." + +# デスクトップにあるファイルを疑似フォルダーにまとめる (グループ化する) +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "タイプでスタックし続ける.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Home/Drives/Trashをソートする.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "デスクトップの変更" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "デフォルトデスクトップを復元する" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "デスクトップアイコンの設定" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "ショートカットを表示する" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "新しいドキュメント" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "ペースト" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "元に戻す" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "やり直す" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "すべて選択" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "アイコンを整列" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "並び替え.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "{0}でデスクトップを表示する]" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "{0} で開く]" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "ウィジェットを編集" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "シェルメニュー.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "SymLink を失敗させる" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "シンボリックリンクを作成できません" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "コピー/移動に失敗しました" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0}] 存在しない" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "ファイルのためのアクションを選択" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "ミッション" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "コピー" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "サイトマップ" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "フォルダ" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "ファイル" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "ファイルを開く 失敗" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "" +"[\"{fo}\"]ファイルを開くためのアプリケーションはインストールされていません." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "{0} 個のアイテムを新しいフォルダーへ移動する" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "すべて開く..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "リリース" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "{foo} で開く" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "開く" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "ここで展開" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "展開先..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "別のアプリケーションで開く..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "別のアプリケーションですべて開く..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "統合グラフィックスカードで起動" + +# 疑似フォルダーの右クリックメニュー +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "この種類を束ねる" + +# 疑似フォルダーの右クリックメニュー +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "この種類を並べる" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "プログラムとして実行する" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "スクリプト" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "切り取り" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "移動する..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "コピーする..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "名前を変更…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "リンクを作成する..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "圧縮{0}フォルダ" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "{0} 個のファイルを圧縮" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "電子メール." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "モバイルデバイスへの送信" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "ゴミ箱へ移動する" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "完全に削除" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "起動を許可しない" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "ゴミ箱を空にする" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "取り出す" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "アンマウント" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "共通のプロパティ" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "プロパティ" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "すべて表示 {0}]" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "{0}で表示]" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "{0} で開く]" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "オープンアイテム" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "抽出の取消される" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "抽出できない ファイル、宛先フォルダなし" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "目的地を選択" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "選択" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "ディレクトリをメールで送ることはできません" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "選択には、まずディレクトリ、.zipファイルへの圧縮が含まれていますか?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "メールエラー" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Zipコマンドが見つからない場合は、プログラムをインストールしてください" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "アーカイブ.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Zipアーカイブの作成にエラーがありました" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Xdg-email が見つからない場合は、プログラムをインストールしてください" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "電子メールファイルにはエラーがありました" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "作業ディレクトリを開くことができません" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Gnome Consoleで開くことができません" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "" +"Gnome Consoleまたはその他のターミナルプログラムをインストールしてください" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "{0}を開くことができない" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "インストールしてください {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "コピーがキャンセルされました" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "ファイルをコピーできません。コピー先のフォルダーが指定されていません" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "キャンセルされる移動" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "ファイルを移動できません。移動先のフォルダーが指定されていません" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$はこのタイプのファイルを開くことができません!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "コンソール" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "デフォルトショートカット:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "新規登録." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "修飾子 + キー (例: Ctrl + アルト + D" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "デフォルトへのリセット" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "アクセラレータなし" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "システムショートカット" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "共通システム定義されたキーボードショートカット" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "ローカルショートカット" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "アプリケーション キーボードのショートカット" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "グローバルショートカット" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "システム キーボードのショートカット" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "キーボードショートカット" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "ショートカットのリセット" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "すべてのショートカットをデフォルトにリセットする" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "すべてのリセット..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "デスクトップファイルの表示" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "端末で開く" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "背景の変更" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "変更表示設定" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "デスクトップアイコンの設定を変更する" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "アイコンをクリーンアップ" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "整列を維持" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "スタックし続ける" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "特別なフォルダをソートする" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "名前でアイコンを配列する" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "絶え間ない名前でアイコンを配列する" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "変更された時間によってアイコンを整理して下さい" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "種類順にアイコンを並べ替え" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "サイズでアイコンを配置" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "ファイルを探す" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "デスクトップ更新" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "隠しファイルを表示する" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "選択解除 すべて" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "プレビュー" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "ウィジェットを追加" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "左アイコンを選択" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "アイコンを選択" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "アイコンを選択" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "アイコンを選択" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "メニューを表示" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "シェルの背景メニューを表示" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "デスクトップのショートカットを作成する" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "テキスト入力が加速する" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "テキストの記入項目は消えます加速します" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "ショートカットを表示する ビューア" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "デスクトップアイコンを表示または非表示" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "詳細情報" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "ホーム" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "トラッシュ" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "スタック" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "壊れたリンク" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "シンボリックリンクのリンク先が存在しないためファイルを開けません" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "ドライブ" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "リファレンス" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "利用者" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "許可" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Strict" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "リラックス" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "開発" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "デフォルト" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "コマンド:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "リファレンス" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "[\"${programName}\"]は利用できません" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"デスクトップアイコンを有効にするには、[\"${programName}\"]をインストールし" +"て、これらのアクションを実行します." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "デスクトップフォルダの選択" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "コマンドが見つかりません" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "選択したファイルを開きます." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "このファイルタイプを常に使用" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_キャンセル" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_オープン" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "GNOMEデスクトップにアイコンを表示" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"デスクトップ;アイコン;ファイル;フォルダ;マネージャー;範囲;非表示;ショー;ラン" +"チャー;ショートカット;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "ショー<>" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "リファレンス" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "免責事項" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "アイコンサイズ" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "デスクトップのアイコンサイズを設定します。" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "ホームフォルダーを表示する" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "デスクトップにホームフォルダーを表示します。" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "ゴミ箱アイコンを表示する" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "デスクトップにゴミ箱のアイコンを表示します。" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "新しいアイコンの配置位置" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "アイコンの配置の基準になるコーナーを設定します。" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "デスクトップに外付けドライブを表示する" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "コンピューターに接続されているディスクドライブを表示します。" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "デスクトップにネットワークドライブを表示する" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "マウント済みのネットワークボリュームをデスクトップに表示します。" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "新しいドライブのアイコンは反対側に配置する" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"ドライブやボリュームのアイコンをデスクトップに追加する場合、通常の配置位置の" +"反対側に追加します。" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "ドラッグアンドドロップ中にドロップ先を枠で囲って強調する" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"ドラッグアンドドロップするときに、アイコンが配置されるドロップ先の場所を半透" +"明の四角形で強調表示します。" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "ホームフォルダー/ゴミ箱/外付けドライブなどの特殊なフォルダーを並べ替え" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"デスクトップ上のアイコンを整列するときに、ホームフォルダー、ゴミ箱、マウント" +"されたネットワーク/外付けドライブのアイコンも整列の対象にします。" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "アイコンの整列を維持する" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "常に最後に選択した並び順でアイコンが整列されるようにします" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "整列順" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "このプロパティでアイコンを整列させます" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "アイコンを束ねる" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "常に同じ種類のアイコンを 1 つにまとめてグループ化します" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "束ねないファイルの種類" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "グループ化しない種類の文字列配列です" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "リンクにエンブレムを追加する" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "ソフトリンクにエンブレムを追加して判別しやすくします。" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "ラベルのテキストの色に黒を使用する" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"ラベルのテキストを白色の代わりに黒色で描画します。明るい背景を使用している場" +"合に有用です。" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "接続されていないプライマリモニターで新しいアイコンを表示" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"2番目のモニターが接続されている場合は、非プライマリモニターに新しいアイコンが" +"配置されます" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "アイコンはデスクトップ上のどこにでも配置できます" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"アイコンは長方形の格子にはありませんが、格子とは独立した場所で延期することが" +"できます" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "デスクトップウィジェット" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "すべてのデスクトップウィンドウを非表示/表示" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "デスクトップ上のアイコンを表示したり、すべてのアイコンを非表示にします" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "ユーザーアプリケーションショートカット" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" +"ユーザが設定したデフォルトのアプリケーションショートカットのオーバーライド" diff --git a/ding/po/ka.po b/ding/po/ka.po new file mode 100644 index 0000000..e5bab8e --- /dev/null +++ b/ding/po/ka.po @@ -0,0 +1,1725 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Temuri Doghonadze , 2023, 2025, 2026. +# Weblate Translation Memory , 2024, 2025, 2026. +# Weblate , 2024, 2025, 2026. +# Besik Konjaria , 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:11+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Georgian \n" +"Language: ka\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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "გადაფარვა" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "მალსახმობები" + +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "მალსახმობის ჩასწორება..." + +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "" + +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "" + +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "სამუშაო მაგიდა" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "ფაილები" + +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "მცირე ცვლილებები" + +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "მეტი" + +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "სამუშაო მაგიდის მორგება" + +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "" + +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "სამუშაო მაგიდის საქაღალდე" + +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "მიმდინარე სამუშაო მაგიდა " + +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "ფაილების მორგება" + +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "" + +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "სხვადასხვა პარამეტრები" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "პაწაწინა" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "პატარა" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "სტანდარტული" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "დიდი" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "" + +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "ზედა მარცხენა კუთხე" + +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "ზედა მარჯვენა კუთხე" + +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "ქვედა მარცხენა კუთხე" + +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "ქვედა მარჯვენა კუთხე" + +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "ახალი ხატულების, ჯერ მეორე ეკრანზე დამატება, თუ ის ხელმისაწვდომია" + +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "ბადეზე მიბმა" + +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "სამუშაო მაგიდის ჩვენება Files-ში" + +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "ახალი საქაღალდე სამუშაო მაგიდაზე" + +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "აირჩიეთ" + +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "" + +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "" + +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "აღდგენა" + +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "" + +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "" + +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "ერთი წკაპი" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "ორმაგი წკაპი" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "ყოველთვის" + +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "მხოლოდ ამ კომპიუტერზე" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "არასდროს" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "დამალული ფაილების ჩვენება" + +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "" + +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "შესახებ..." + +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "თარგმანი" + +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" + +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "გადასვლების ჩასწორება" + +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "" + +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "თარგმნა" + +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "" + +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "ელემენტის გახსნა" + +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "საქაღალდის გახსნა" + +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "ფაილის გახსნა" + +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "" + +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "" + +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "" + +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "" + +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "" + +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "მხოლოდ წაკითხვადი" + +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "ან" + +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "არცერთი" + +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "პარამეტრის ჩართვა" + +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "" + +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "" + +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "" + +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "" + +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "ჩართვა" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "საქაღალდის სახელი" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "ფაილის სახელი" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "დიახ" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "სახელის გადარქმევა" + +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "" + +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" + +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "ფაილების გაშლა" + +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "გაუქმება" + +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "შეიყვანეთ პაროლი" + +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "" + +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "" + +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "" + +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "" + +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "" + +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "" + +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "" + +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "" + +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "" + +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "" + +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "" + +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "" + +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "" + +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "" + +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" + +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "" + +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "არქივის შექმნა" + +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "არქივის სახელი" + +#: app/autoAr.js:608 +msgid "Password" +msgstr "პაროლი" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "შექმნა" + +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "" + +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "" + +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "" + +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "" + +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "" + +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "" + +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "" + +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "" + +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "" + +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "" + +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "ფაილის გახსნა შეუძლებელია" + +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "" + +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "" + +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "" + +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "" + +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "" + +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "" + +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "სამუშაო დაფის ხატულა" + +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "სამუშაო მაგიდის განახლება" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "" + +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "" + +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" + +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" + +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "ჩართვა" + +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" + +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "" + +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "" + +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "" + +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "" + +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "" + +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" + +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "ახალი საქაღალდე" + +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "" + +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "საქაღალდის შექმნა შეუძლებელია" + +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "" + +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "" + +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "" + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "მორგება" + +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "" + +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "" + +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "სახელი" + +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "" + +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "" + +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "ტიპი" + +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "ზომა" + +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "" + +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "" + +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "" + +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "სამუშაო მაგიდის შეცვლა" + +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "" + +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "სამუშაო მაგიდის ხატულას მორგება" + +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "მალსახმობების ჩვენება" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "ახალი დოკუმენტი" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "ჩასმა" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "გაუქმება" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "გამეორება" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "ყველას მონიშვნა" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "" + +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "" + +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "" + +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "" + +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "" + +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "" + +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "" + +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "" + +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "არ არსებობს" + +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "" + +#: app/dragManager.js:792 +msgid "Move" +msgstr "გადატანა" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "კოპირება" + +#: app/dragManager.js:792 +msgid "Link" +msgstr "ბმული" + +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "საქაღალდე" + +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "ფაილი" + +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "ფაილის გახსნის შეცდომა" + +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "" + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "ახალი საქაღალდე {0} ელემენტით" +msgstr[1] "ახალი საქაღალდე {0} ელემენტით" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "" + +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "გაშვება" + +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "გახსნა" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "გაშლა სად..." + +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "გამხსნელი პროგრამა..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "" + +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "" + +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "" + +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "" + +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "სკრიპტები" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "ამოჭრა" + +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "გადატანა სად..." + +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "კოპირება სად..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "სახელის გადარქმევა…" + +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "" + +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "{0} საქაღალდის შეკუმშვა" +msgstr[1] "{0} საქაღალდის შეკუმშვა" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "{0} ფაილის შეკუმშვა" +msgstr[1] "{0} ფაილის შეკუმშვა" + +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "" + +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "გადატანა ნაგვის ყუთში" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "სამუდამოდ წაშლა" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "ნაგვის ყუთის დაცარიელება" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "გამოღება" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "მიბმის გათიშვა" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "პარამეტრები" + +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "" + +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "" + +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "" + +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "ელემენტის გახსნა" + +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "" + +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "" + +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "აირჩიეთ სამიზნე" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "არჩევა" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "" + +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "" + +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "" + +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "" + +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "" + +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "" + +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "" + +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "" + +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "" + +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "" + +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "" + +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "" + +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "" + +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "" + +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "" + +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "" + +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "" + +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "" + +#: app/preferences.js:1078 +msgid "Console" +msgstr "კონსოლი" + +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "" + +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "" + +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "" + +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "ნაგულისხმებ მნიშვნელობაზე დაბრუნება" + +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "ამაჩქარებელი" + +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "სისტემური მალსახმობები" + +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "" + +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "ლოკალური მალსახმობები" + +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "" + +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "გლობალური მალსახმობები" + +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "კლავიატურის ბმულები" + +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "კლავიატურის მალსახსომები" + +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "მალსახმობების ჩამოყრა" + +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "" + +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "ყველას ჩამოყრა..." + +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "სამუშაო მაგიდის ჩვენება Files-ში" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "ტერმინალში გახსნა" + +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "ფონის ფერის შეცვლა" + +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "" + +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "სამუშაო მაგიდის ხატულას პარამეტრების შეცვლა" + +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "" + +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "" + +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "" + +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "" + +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "" + +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "" + +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "" + +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "" + +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "" + +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "ფაილებში ძებნა" + +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "სამუშაო მაგიდის განახლება" + +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "დამალული ფაილების ჩვენება" + +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "მონიშვნის მოხსნა" + +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "მინიატურა" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "" + +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "" + +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "" + +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "აირჩიეთ ხატულა ზემოთ" + +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "" + +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "მენიუს ჩვენება" + +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "" + +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "" + +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "" + +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "" + +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "მალსახმობების დამთვალიერებლის ჩვენება" + +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "სამუშაო მაგიდის ხატულების ჩვენება ან დამალვა" + +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "მეტი ინფორმაცია" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "მთავარი" + +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "ნაგავი" + +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "დასტა" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "" + +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "დრაივი" + +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "მორგება" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "მომხმარებელი" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "დაშვება" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "მკაცრი" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "განვითარება" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "ნაგულისხმევი" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "ბრძანება:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "მორგება" + +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "" + +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" + +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "სამუშაო მაგიდის საქაღალდე" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "ბრძანება აღმოჩენილი არაა" + +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "" + +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "" + +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_გაუქმება" + +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_გახსნა" + +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "" + +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" + +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "ჩვენება / დამალვა" + +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "მორგება" + +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "გამორთვა" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "ხატულას ზომა" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "სისტემის კუთხეში ხატულის ჩვენება" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +#, fuzzy +msgid "Show Desktop Widgets" +msgstr "სამუშაო მაგიდის ჩვენება Files-ში" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" + +#, fuzzy +#~ msgid "Website" +#~ msgstr "ვებსაიტი" + +#, fuzzy +#~ msgid "Visit" +#~ msgstr "ეწვიეთ" + +#, fuzzy +#~ msgid "Issues" +#~ msgstr "პრობლემები" + +#, fuzzy +#~ msgid "Report" +#~ msgstr "ანგარიში" + +#, fuzzy +#~ msgid "License" +#~ msgstr "ლიცენზია" + +#, fuzzy +#~ msgid "Do Paste" +#~ msgstr "ჩასმა" + +#, fuzzy +#~ msgid "Copy Item" +#~ msgstr "კოპირება ..-ში" + +#, fuzzy +#~ msgid "Rename Item" +#~ msgstr "ჩანაწერის სახელის გადარქმევა" + +#, fuzzy +#~ msgid "Show Properties" +#~ msgstr "თვისებები" + +#, fuzzy +#~ msgid "Volumes" +#~ msgstr "ხმის სიმაღლე" + +#, fuzzy +#~ msgid "Run" +#~ msgstr "გაშვება" + +#, fuzzy +#~ msgid "Close" +#~ msgstr "დახურვა" diff --git a/ding/po/kk.po b/ding/po/kk.po new file mode 100644 index 0000000..c259236 --- /dev/null +++ b/ding/po/kk.po @@ -0,0 +1,1670 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Baurzhan Muftakhidinov , 2026. +# Weblate Translation Memory , 2026. +# Weblate , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-03-02 11:09+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Kazakh \n" +"Language: kk\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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Жарлықтар" + +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "" + +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "" + +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "" + +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Жұмыс үстелі" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Faıldar" + +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "" + +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Толығырақ" + +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "" + +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "" + +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "" + +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "" + +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "" + +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "" + +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Кіші" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Стандартты" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Үлкен" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "" + +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "" + +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "" + +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "" + +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "" + +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" + +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Torǵa baılastyrý" + +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "" + +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "" + +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Tańdaý" + +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "" + +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "" + +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Қалпына келтіру" + +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "" + +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "" + +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "" + +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Eki ret basý" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Әрқашан" + +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Осы компьютерде" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Ешқашан" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Жасырын файлдарды көрсету" + +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "" + +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "" + +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Tárjime" + +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" + +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Tárjimeler" + +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "" + +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Tárjimeleý" + +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "" + +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "" + +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Буманы ашу" + +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Файлды ашу" + +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "" + +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "" + +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "" + +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "" + +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "" + +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "" + +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "or" + +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Жоқ" + +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "" + +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "" + +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "" + +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "" + +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "" + +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "qosu" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Бума аты" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Файл аты" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "OK" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Атын өзгерту" + +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "" + +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" + +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Файлдарды тарқату" + +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Бас тарту" + +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Құпиясөзді енгізіңіз" + +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "" + +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "" + +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "" + +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "" + +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "" + +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "" + +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "" + +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "" + +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "" + +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "" + +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "" + +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "" + +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "" + +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "" + +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" + +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "" + +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Архив жасау" + +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "" + +#: app/autoAr.js:608 +msgid "Password" +msgstr "Құпиясөз" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "Жасау" + +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "" + +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "" + +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "" + +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "" + +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "" + +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "" + +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "" + +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "" + +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "" + +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "" + +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "" + +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "" + +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "" + +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "" + +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "" + +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "" + +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "" + +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "" + +#: app/desktopGrid.js:2584 +msgid "Back to Desktop" +msgstr "" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Виджет қосу" + +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "" + +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" + +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" + +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Қосу" + +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" + +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "" + +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "" + +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "" + +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "" + +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "" + +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" + +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Жаңа бума" + +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "" + +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Осы команда орындауы сәтсіз аяқталды: %s" + +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "" + +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "" + +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "" + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Баптау" + +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "" + +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "" + +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Атау" + +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "" + +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "" + +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Тип" + +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Өлшемі" + +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "" + +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "" + +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "" + +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "" + +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "" + +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "" + +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Жарлықтарды көрсету" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Жаңа құжат" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Қою" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Артқа қайтару" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Қайта жасау" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Барлығын таңдау" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "" + +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "" + +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "" + +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "" + +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "" + +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "" + +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "" + +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "" + +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "" + +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "" + +#: app/dragManager.js:792 +msgid "Move" +msgstr "Jyljytý" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Көшіру" + +#: app/dragManager.js:792 +msgid "Link" +msgstr "Сілтеме" + +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Бума" + +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Файл" + +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "" + +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "" + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "" +msgstr[1] "" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "" + +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Іске қосу" + +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Ашу" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Шығару..." + +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Көмегімен ашу..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "" + +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "" + +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "" + +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "" + +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Кесіп алу" + +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Қайда жылжыту..." + +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Қайда көшіріп алу..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Атын өзгерту" + +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "" + +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "" +msgstr[1] "" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "" +msgstr[1] "" + +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "" + +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Қоқыс жәшігіне тастау" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Біржолата өшіру" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Себетті тазарту" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Шығару" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Сипаттар" + +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "" + +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "" + +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "" + +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "" + +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "" + +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "" + +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Мақсат бумасын таңдаңыз" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Таңдау" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "" + +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "" + +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "" + +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "" + +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "" + +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "" + +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "" + +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "" + +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "" + +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "" + +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "" + +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "ашу мүмкін емес" + +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "" + +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "" + +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "" + +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "" + +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "" + +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "" + +#: app/preferences.js:1078 +msgid "Console" +msgstr "Konsól" + +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "" + +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "" + +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "" + +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Әдепкі көрініске оралу" + +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "" + +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "" + +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "" + +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "" + +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "" + +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "" + +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Пернетақта жарлықтары" + +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Пернетақта жарлықтары" + +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "" + +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "" + +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "" + +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Терминалда ашу" + +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "" + +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "" + +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "" + +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "" + +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "" + +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "" + +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "" + +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "" + +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "" + +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "" + +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "" + +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "" + +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "" + +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "" + +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Жасырын файлдарды көрсету" + +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Таңдауды алып тастау" + +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Алдын ала қарау" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Виджет қосу" + +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "" + +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "" + +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "" + +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "" + +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Мәзірді көрсету" + +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "" + +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "" + +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "" + +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "" + +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "" + +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "" + +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Ақпарат" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Басты бет" + +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Қоқыс шелегі" + +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "стек" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "" + +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Жетек" + +#: app/widgetManager.js:1564 +msgid "Widget preferences" +msgstr "" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Paıdalanýshy" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Рұқсат ету" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Ázirleý" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Әдепкі" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Pármen\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +#: app/widgetWebContext.js:187 +msgid "Widget Preferences" +msgstr "" + +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "" + +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" + +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "команда табылмады" + +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "" + +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "" + +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "Ба_с тарту" + +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Ашу" + +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "" + +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" + +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "" + +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Teńshelimder" + +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Сөндіру" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Таңбаша өлшемі" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" diff --git a/ding/po/ko.po b/ding/po/ko.po new file mode 100644 index 0000000..5bafc36 --- /dev/null +++ b/ding/po/ko.po @@ -0,0 +1,1975 @@ +# 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. +# JGJeong , 2021. +# Junghee Lee , 2022. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# LibreTranslate , 2023, 2024, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:10+0000\n" +"Last-Translator: Weblate \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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Override" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "바로가기" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Shortcuts 편집 ..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "앱 바로가기" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "바로가기 Extension Enabled 만 편집 가능 ..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "웹 브라우저에서 번역하는 데 도움이" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "제품 정보" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "파일 형식" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "스낵 바" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "더 보기" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "데스크탑 설정" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "데스크탑 프로그램 설정" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "데스크탑 폴더" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "현재 데스크탑:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "파일 설정" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Gnome 파일로 공유된 설정" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "기타 제품 스낵 바" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "바탕화면 아이콘 크기" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "매우 작은 아이콘" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "작은 아이콘" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "중간 아이콘" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "큰 아이콘" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "새 아이콘 정렬 방식" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "왼쪽 코너" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "맨 위로" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "바닥 왼쪽 코너" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "바닥 오른쪽 코너" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Secondary Monitors에 새로운 아이콘을 먼저 추가하면 사용 가능" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Snap 아이콘을 그리드" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "데스크톱 위젯" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "새로운 데스크탑 폴더" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "데스크탑의 새로운 폴더 설정" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "제품 정보" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "바탕 화면을 ~/로 설정" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "복원 기본 데스크탑 폴더" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "관련 상품" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "높은 조명 드롭 그리드" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "링크, 암호화에 대한 정보 emblems 추가" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "아이콘 레이블에 어두운 텍스트 사용" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "바탕 화면에 개인 폴더보기" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "바탕 화면에 쓰레기 아이콘 표시" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "데스크톱에서 외부 드라이브보기" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "데스크톱에서 네트워크 드라이브보기" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "바탕 화면의 반대쪽에 새로운 드라이브를 추가" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "본문 바로가기" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "한 번 클릭" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "두 번 클릭" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "이미지 마중그림 표시" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "항상" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "이 컴퓨터에서만" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "보지 않음" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "영구적으로 삭제할 컨텍스트 메뉴 항목 표시" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "숨김 파일 표시" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "드래그 hover에 폴더 열기" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "...에." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "번역하기" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "LibreTranslate를 이용하여 번역된 기계. Weblate에 검증된 사용자." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "번역 편집" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "웹 브라우저에서, 추가 또는 올바른 번역" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "이름 *" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "]{foo}]를 엽니다" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "공지사항" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "오픈 폴더" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "파일 열기" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "오류 변경 기본 응용" + +# MT: LibreTranslate +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "{foo}]를 설정하는 동안 오류 {mimetype}" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "AppImage 파일에 잘못된 권한" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "이 AppImage 파일은 잘못된 권한이 있습니다." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "속성을 편집하려면 오른쪽 클릭, 다음:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "권한 설정, 에서" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "기타 액세스" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "자세히보기" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "또는" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "이름 *" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "옵션 정보" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "실행파일을 프로그램으로 허용" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "AppImage 파일" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "이 앱 이미지 파일은 신뢰할 수 없습니다, 그것은 출시 될 수 없습니다." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "실행, 마우스 오른쪽 클릭, 다음을 활성화:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "지원하다" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "실행 허용" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "폴더 이름" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "파일 이름" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "확인" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "이름 바꾸기" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "제품정보 Ar는 설치되지 않습니다" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"압축 파일과 함께 작동 할 수 있도록, 파일 롤러 및 / 또는 gir-1.2-gnome을 설치 " +"자동차" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "파일 추출" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "파일 압축" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "취소" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "비밀번호 입력" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "부분 파일 제거 '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "대상 폴더 만들기" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "파일 추출 '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "적출 완료" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "'${fullPathFile}' 추출 완료 되었습니다." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "관련 상품" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "'${fullPathFile}'를 추출하여 사용자가 취소되었습니다." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "${filename}에 필요한 Passphrase" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "추출 중 오류" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "파일 압축 '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "압축 완료" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "파일 압축 '${outputFile}' 완료되었습니다." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "압축 해제" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "출력 파일 '${outputFile}' 이미 존재한다." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "파일 압축 '${outputFile}'은 사용자가 취소되었습니다." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "압축 중 오류" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "아카이브" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Archive 이름" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "비밀번호" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "이름 *" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "모든 운영 체계와 호환이 되는." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "비밀번호 보호 .zip, Windows 및 Mac에 설치해야합니다." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "작은 아카이브하지만 리눅스와 Mac 만." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "작은 아카이브하지만 Windows 및 Mac에 설치해야합니다." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "표시된 데스크탑은 다른 사람에 의해 writable 입니다" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop 파일은 데스크톱 폴더로이 데스크탑에서 다른 사용자에 의해 writable 시" +"작할 수 없습니다.\n" +"\n" +"이 데스크탑 폴더의 권한을 확인하고 다른 사람이 쓸 수 없다는 것을 확인합니다." + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "깨진 바탕화면 파일" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"이 .desktop 파일은 오류가 발생하거나 권한없이 프로그램에 포인트가 있습니다. " +"실행할 수 없습니다.\n" +"\n" +"올바른 실행 가능한 프로그램을 설정하는 파일을 편집합니다." + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "바탕화면 파일에 대한 잘못된 권한" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "이 데스크탑 파일에는 잘못된 권한이 있습니다." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Untrusted 데스크탑 파일" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "이 데스크탑 파일은 신뢰할 수 없습니다, 그것은 출시 될 수 없습니다." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "열 수 없습니다 파일 형식" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName}] 이 유형의 파일을 열 수 없습니다!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "데스크탑 폴더 변화 실패" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "새로운 데스크톱 폴더는 Symbolic Link입니다" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "새로운 데스크탑 폴더가 존재하지 않거나 폴더가 없습니다!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "데스크탑 폴더 변경" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "새로운 데스크탑으로 전환 ..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "데스크탑 아이콘" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "데스크탑" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "위젯 추가" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "감시자 구조 완충기 확장은 활성화되지 않습니다" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"다른 급상승 조정을 가진 다수 감시자는, 감시자 framebuffer 사기 당 추천합니" +"다.\n" +"\n" +"Mutter Dconf 설정 활성화" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"다른 급상승 조정을 가진 다수 감시자.\n" +"\n" +"Mutter Dconf 설정에서 Framebuffer 스케일링을 모니터링 할 수 있습니까?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "이름 *" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "데스크탑을 표시 할 수 없습니다" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"데스크톱 폴더 {desktop}은 Symbolic Link입니다.\n" +"\n" +"데스크탑 폴더를 실제 폴더로 설정하십시오" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Desktop 폴더 {desktop}는 존재하지 않습니다. 또는 디렉토리가 아닙니다.\n" +"\n" +"xdg-utils 설치를 확인하고 올바른 데스크탑 폴더를 설정하십시오" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "사이트맵 찾을 수 없음" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "" +"GNOME 소개 파일 응용 프로그램은 Gtk4 데스크탑 아이콘 NG에 의해 요구됩니다." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "기본 파일 관리자가 없습니다" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Mimetype \"inode/directory\"를 처리하는 응용 프로그램이 없습니다" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome Files는 파일 관리자로 등록되지 않습니다" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Gnome 파일 응용 프로그램은 폴더를 열 수 없습니다!\n" +"xdg-utils 설치 확인\n" +"Gnome 파일 확인 .desktop 파일 설치" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "새로운 검색 전에 명확한 현재 선택" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "데스크탑에서 파일 찾기" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "새 폴더" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Folder 창조 실패" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "폴더를 만들 수 없습니다" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Gnome 파일에서 데스크톱을 열 수 없습니다" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "설정 창이 오픈" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "이 창은 열려 있습니다. 활성 창으로 전환하십시오." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "설정" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "템플릿 생성 오류" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "문서 작성" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "이름 *" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "이름 Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "수정 시간" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "제품정보" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "크기 (mm)" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "계속 .." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "유형에 의해 스택 유지.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "분류 홈/드라이브/트래시.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "데스크탑" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "기본 데스크톱 복원" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "데스크탑 아이콘 설정" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "쇼 바로가기" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "새 문서" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "붙여넣기" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "실행 취소" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "다시 실행" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "모두 선택" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "아이콘 정렬" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "연락처" + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "데스크톱 표시 {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "{0}에서 열기" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "위젯 편집" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "쉘 메뉴 .." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "SymLink 실패" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Symbolic 링크를 만들 수 없습니다" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "복사/모브 실패" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} 없습니다" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "파일에 대한 작업 선택" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "기타" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "복사하기" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "팟캐스트" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "한국어" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "파일 형식" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "파일 열기 실패" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "\"{fo}\"] 파일을 열 수 있도록 설치된 응용 프로그램이 없습니다." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "{0}개 파일 새 폴더로 이동" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "모두 열기…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "시작" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "{foo}로 오픈" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "열기" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "여기 풀기" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "다른 위치에 풀기…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "오픈 ..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "다른 프로그램으로 모두 열기…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "통합 그래픽 카드를 사용하여 시작" + +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "이 유형 스택" + +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "이 유형 스택 해제" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "프로그램" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "스크립트" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "잘라내기" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "이동 ..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "관련 기사." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "이름 바꾸기…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "링크 생성..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "압축 {0} 폴더" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "{0}개 파일 압축하기" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "이메일 ..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "모바일 장치에 전송" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "휴지통으로 옮기기" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "영구 삭제" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "실행을 허용하지 않음" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "휴지통 비우기" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "꺼내기" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "마운트 해제" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "공통 속성" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "속성" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "모두보기 {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "{0}에 있는 쇼" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "{0}에서 열기" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "연락처" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "추출 취소" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "추출 가능 파일, 대상 폴더 없음" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "자주 묻는 질문" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "선택" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "디렉터리는 이메일로 보낼 수 없습니다" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "선택은 디렉토리를 포함, .zip 파일에 압축 먼저?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "메일 오류" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Zip 명령을 찾을 수 없으므로 프로그램을 설치하십시오" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "아카이브" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Zip 아카이브를 만드는 오류가 있었습니다" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Xdg-email을 찾을 수 없습니다. 프로그램을 설치하십시오" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "이메일 파일에 오류가 있었습니다" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "작업 디렉토리를 열 수 없습니다" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Gnome 콘솔에서 열기" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Gnome 콘솔 또는 기타 터미널 프로그램 설치" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "{0}을 여는 것은" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "{0} 설치" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "복사 취소" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "파일 복사, 대상 폴더 없음" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "이동 취소" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "파일 이동 불가, 대상 폴더 없음" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ 이 유형의 파일을 열 수 없습니다!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "관련 기사" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "기본 단축키:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "새로운 유형 ..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modifier + 키 (예 : Ctrl + ₢ 킹" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "기본값으로 재설정" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "없음 Accelerator" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "시스템 단축키" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "일반 시스템 정의 키보드 단축키" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "지역 단축키" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "신청 키보드 단축키" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "글로벌 단축키" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "시스템 키보드 단축키" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "키보드 단축키" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "단축키 재설정" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "기본값으로 모든 단축키 재설정" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "모두 재설정 ..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "파일에서 데스크톱보기" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "터미널로 열기" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "공지사항" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "변경 표시 설정" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "데스크탑 아이콘 설정 변경" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "연락처" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "연락처" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "관련 기사" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "종류 스페셜 폴더" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "이름 별 Icons" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Arrange 아이콘 Descending 이름" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Arrange Icons 로 변경된 시간" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "연락처 로그인" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "크기로 Arrange 아이콘" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "파일 찾기" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "데스크탑" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "숨겨진 파일 표시" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "모두 선택" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "다운로드" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "위젯 추가" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "아이콘 선택" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "아이콘 선택" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "아이콘 선택" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "아래 아이콘을 선택하십시오" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "쇼 메뉴" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "전시 포탄 배경 메뉴" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "데스크탑 바로가기" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "텍스트 입력 Accels Turn On" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "텍스트 입력 Accels Turn Off" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "쇼 바로가기 더 보기" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "표시 또는 숨기기 데스크탑 아이콘" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "더 많은 정보" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "홈" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "정보 수집" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "뚱 베어" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "깨진 링크" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "이 파일은 손상된 심볼릭링크이므로 열 수 없습니다" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "지원하다" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "옵션 정보" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "유저" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "허용" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "엄격" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "편안한" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "개발" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "기본" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "명령:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "옵션 정보" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\"은 사용할 수 없습니다" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"\"${programName}\"]를 설치하여 데스크탑 아이콘을 활성화하여 이러한 작업을 수" +"행합니다." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "데스크탑 폴더 선택" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "명령을 찾을 수 없습니다" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "선택한 파일을 열려면 앱을 선택하십시오." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "이 파일 형식의 항상 사용" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_캔셀" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_영업" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "GNOME 데스크톱에서 아이콘 표시" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "데스크탑; 아이콘; 파일; 폴더; 관리자; 배열; 숨기기; 쇼; 런처; 단축키;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "쇼<>머리" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "옵션 정보" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "기타 제품" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "아이콘 크기" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "바탕 화면 아이콘의 크기를 지정합니다." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "개인 폴더 표시" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "바탕화면에 개인 폴더를 표시합니다." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "휴지통 아이콘 표시" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "바탕화면에 휴지통 아이콘을 표시합니다." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "새 아이콘 배치할 코너" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "아이콘 배치를 시작할 모서리를 설정합니다." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "바탕화면에 외장 드라이브 표시" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "컴퓨터에 연결된 디스크 드라이브를 표시합니다." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "바탕화면에 네트워크 드라이브 표시" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "데스크탑에 탑재된 네트워크 볼륨을 표시합니다." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "새 드라이브를 스크린 반대편에 추가" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "바탕화면에 드라이브 및 볼륨을 추가할 때 화면의 반대쪽에 추가합니다." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "끌어서 놓는 동안 대상 위치에 사격형 표시" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"끌어서 놓기 작업을 수행할 때, 격자에서 아이콘이 배치될 위치를 반투명 사각형" +"을 표시합니다." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "특수 폴더 정렬 - 홈/휴지통 드라이브 입니다." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"바탕화면에 아이콘을 정렬할 때 홈, 휴지통 및 마운트된 네트워크 또는 외장 드라" +"이브의 위치를 정렬하고 변경합니다" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "아이콘 정렬 유지" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "항상 마지막 정렬 순서로 아이콘 정렬 유지" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "순서 정렬" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "이 속성으로 정렬된 아이콘" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "아이콘 스택됨 유지" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "항상 아이콘 스택됨 유지, 유사한 유형이 그룹화됩니다" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "스택하지 않을 파일 유형" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "문자열 유형의 배열, 이러한 유형의 파일을 스택하지 않습니다" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "링크에 엠블럼 추가" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "소프트 링크를 식별할 수 있도록 엠블럼을 추가합니다." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "레이블 텍스트에 검정색 사용" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"레이블 텍스트를 흰색 대신 검정색으로 칠합니다. 밝은 배경을 사용할 때 유용합니" +"다." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "연결된 경우 non primary monitor에 새로운 아이콘을 표시하십시오" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "두 번째 모니터가 연결되면 새로운 아이콘이 비주얼 모니터에 배치됩니다" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "아이콘은 데스크탑에서 어디에서나 배치할 수 있습니다" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"아이콘은 직사각형 그리드에 있지 않지만 그리드의 독립적 인 곳에서 게시 할 수 " +"있습니다" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "데스크톱 위젯" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "모든 데스크탑 창을 숨기기" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "바탕 화면에 아이콘을 표시하거나 모든 것을 숨기십시오" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "사용자 신청 Shortcuts" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "사용자가 설정한 기본 애플리케이션 단축키를 위한 Override" diff --git a/ding/po/ky.po b/ding/po/ky.po new file mode 100644 index 0000000..7a21551 --- /dev/null +++ b/ding/po/ky.po @@ -0,0 +1,2099 @@ +# Kirghiz translations for gtk4-ding package. +# Copyright (C) 2025 THE gtk4-ding'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Automatically generated, 2025. +# +# Sundeep Mediratta , 2026. +# Weblate , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-01-12 12:01+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Kyrgyz \n" +"Language: ky\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: Weblate 5.15.1\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Кыска жолдор" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Кыска жолдорду редакциялоо..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Редакциялык колдонмонун кыска жолдору" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Кыска жолдор Редакциялоо мүмкүнчүлүгү бар болсо гана.." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Веб-браузериңизди которууга жардам бериңиз" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Десктоп" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Файлдар" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Өзгөртүүлөр" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Көбүрөөк көбүрөөк көбүрөөк" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Десктоптун орнотуулары" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Desktop программасынын орнотуулары" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Desktop Folder" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Учурдагы жумушчу стол:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Файлдарды орнотуу" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Гном файлдары менен бөлүшүлгөн орнотуулар" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Ар кандай Өзгөртүүлөр" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Десктоптун иконаларынын өлчөмү" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Кичинекей" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Кичинекей чакан" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Стандарттык стандарт" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Чоң чоң чоң" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Жаңы иконалардын жайгаштырылышы" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Жогорку сол бурч" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Жогорку оң бурч" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Төмөнкү сол бурч" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Төмөнкү оң бурч" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Эгер бар болсо, адегенде экинчи мониторлорго жаңы иконаларды кошуңуз" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Иконаларды тармакка туташтырыңыз" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "Файлдардагы үстөлдү көрсөтүңүз" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Жаңы жумушчу столдун фолдери" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Десктопко жаңы папканы орнотуңуз" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Тандоо" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Десктопту кайра ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Default Desktop Folder дүкөнүн калыбына келтирүү" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Кайра сактоо" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Капкак торду баса белгилөө" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Байланыштар үчүн маалымат эмблемаларын кошуу, шифрлөө" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Икона этикеткаларында караңгы текстти колдонуңуз" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Жеке папканы үстөлдүн үстүндө көрсөтүңүз" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Таштандыларды үстөлдүн үстүндө көрсөткүлө" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Сырткы дисктерди үстөлдө көрсөтүңүз" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Тармактык дисктерди үстөлдө көрсөтүңүз" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Десктоптун карама-каршы жагына жаңы дисктерди кошуңуз" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Темаларды ачуу боюнча иш-аракеттер" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Бир чыкылдатуу" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Эки жолу чыкылдатуу" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Сүрөттүн баш бармагын көрсөтүңүз" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Ар дайым" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Бул компьютерде гана" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Эч" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Контекст менюсун биротоло жок кылуу үчүн көрсөтүңүз" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Жашыруун файлдарды көрсөтүңүз" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Ачылган папкалар" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Болжол менен..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Котормо" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"LibreTranslate аркылуу которулган машина. Колдонуучу Weblate аркылуу " +"текшерилип, редакцияланган." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Редакциялык котормолор" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Веб-браузердеги котормону текшерүү, кошуу же оңдоо" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Котормо" + +# MT: LibreTranslate +#: app/appChooser.js:78 +#, fuzzy +msgid "Choose an application to open {foo}" +msgstr "Ачылуу үчүн тиркемени тандаңыз {foo} " + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Ачык пункттар" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Ачык фольга" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Ачык файл" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Катаны өзгөртүүчү демейки арыз" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Колдонмо файлына жараксыз уруксат берүү" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Бул AppImage файлында туура эмес уруксаттар бар." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Туура чыкылдатыңыз, анда:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Уруксат берүү" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Башкаларга кирүү" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Окуу гана" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "же" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Эч ким жок" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Мүмкүн болгон вариант" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Файлды программа катары аткарууга уруксат берүү" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Ишенимсиз тиркеме файлы" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "" +"Бул тиркеме Сүрөт файлына ишенүүгө болбойт, аны ишке киргизүү мүмкүн эмес." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Баштоо үчүн, оң чыкылдатыңыз, анда:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "мүмкүндүк берүүчү" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Баштоого уруксат берүү" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Формалдуу аталышы" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Файлдын аталышы" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "OK" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Аталышы" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "" +"АвтоАвто авто авто авто авто авто авто авто авто авто авто авто авто авто " +"авто авто авто авто авто авто авто авто авто авто авто авто авто авто авто " +"авто авто авто авто авто авто авто авто авто авто авто авто авто авто авто " +"авто авто авто авто авто авто авто авто авто авто авто авто авто авто авто " +"авто авто авто авто авто авто авто авто авто авто авто авто авто авто авто " +"авто авто авто авто авто авто авто авто авто авто авто авто авто авто авто " +"авто авто авто авто авто авто авто авто авто авто авто авто авто авто авто " +"авто авто авто авто авто авто авто авто авто авто авто авто авто авто авто " +"авто авто авто авто авто авто авто авто авто авто авто авто авто авто авто " +"авто авто авто авто авто авто авто авто авто авто авто авто авто авто авто " +"авто авто авто авто авто авто авто авто авто авто авто авто авто авто авто " +"авто авто авто авто авто авто авто авто авто авто авто авто авто авто авто " +"авто авто авто авто авто авто авто авто авто авто авто авто авто авто авто " +"авто авто авто авто авто авто авто авто авто авто авто авто авто авто авто " +"авто авто авто авто авто авто авто авто авто авто авто авто авто авто авто " +"авто авто авто авто авто авто авто авто авто авто авто авто авто авто авто " +"авто авто авто авто авто авто авто авто авто авто авто авто авто авто авто " +"авто Ar орнотулган эмес" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Кысылган файлдар менен иштөө үчүн файл ролик жана же gir-1.2 гном орнотуу " +"AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Экстракциялык файлдар" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Компрессиялык файлдар" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Канцлер" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Бул жерде сырсөздү киргизиңиз" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Жарым-жартылай файлды алып салуу '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Багыт берүүчү папканы түзүү" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Файлдарды '${outputPath}'ге чыгаруу" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Экстракция аяктаган" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Экстракциялоо '${fullPathFile}' аяктаган." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Экстракция жокко чыгарылган" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Экстракциялоо '${fullPathFile}' колдонуучу тарабынан жокко чыгарылган." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "${filename} үчүн талап кылынган сырсөз]" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Экстракция учурундагы ката" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Файлдарды кысуу '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Компрессия аяктаган" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "'${outputFile}' файлдарын кысуу аяктаган." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Жокко чыгарылган кысуу" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Чыгуу файлы '${outputFile}' буга чейин эле бар." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "'${outputFile}' файлдарын кысуу колдонуучу тарабынан жокко чыгарылган." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Компрессия учурундагы ката" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Архивди түзүү" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Архивдик аталыш" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Пароль сөзү" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Жаратуу" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Бардык операциялык системалар менен шайкеш келет." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "" +"Password корголгон.zip Windows жана Mac системаларына орнотулушу керек." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Кичинекей архивдер, бирок Linux жана Mac гана." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "" +"Кичинекей архивдер, бирок Windows жана Mac системаларына орнотулушу керек." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Дисплейленген үстөлдү башкалар да жаза алышат" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"Бул Desktop файлдарын ишке киргизүү мүмкүн эмес, анткени Desktop Folder " +"башка колдонуучулар тарабынан иштетилет.\n" +"\n" +"Сураныч, бул Desktop Folderдин уруксаттарын текшериңиз жана аны башкалар " +"жазбай турганына ынаныңыз." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Бөлүнгөн жумушчу стол файлы" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Бул.desktop файлында каталар же уруксатсыз программага упайлар бар. Аны ишке " +"ашырууга болбойт.\n" +"\n" +"Туура аткарылуучу программаны орнотуу үчүн файлды түзөтүңүз." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Десктоптогу файлга жараксыз уруксат берүү" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Бул үстөл файлында туура эмес уруксаттар бар." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Ишенимсиз жумушчу стол файлы" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Бул Desktop файлына ишенүүгө болбойт, аны ишке киргизүү мүмкүн эмес." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Ачылбай калышы мүмкүн Фай файлы" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} бул типтеги файлдарды ача албайт!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Desktop Folder Өзгөрүү ишке ашпай калды" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Жаңы Desktop Folder - бул символикалык байланыш" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Жаңы Desktop Folder жок же Folder эмес!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Desktop Folder алмаштырылган" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Жаңы үстөлгө өтүү..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Десктоптун иконалары" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Жаңыртылган жумушчу стол" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Монитор каркас буфер Масштабдоо мүмкүн эмес" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Ар кандай зум параметрлери бар бир нече мониторлор, монитордун кадрдык " +"кадрдык масштабдоону сунуштаңыз.\n" +"\n" +"Сураныч, Mutter Dconf орнотууларын ишке ашырыңыз" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Ар кандай зум параметрлери бар бир нече мониторлор.\n" +"\n" +"Муттер-Дконф орнотууларында монитордун кадрдык буфердин масштабдаштыруусун " +"камсыз кылуу?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Мүмкүн" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Десктопту көрсөтө албайт" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Desktop папкасы {desktop} - бул символикалык байланыш\n" +"\n" +"Сураныч, Desktop Folderди чыныгы Folderге коюңуз" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Desktop папкасы {desktop} жок же каталог эмес\n" +"\n" +"Xdg-util орнотууңузду текшериңиз жана туура Desktop Folder орнотуңуз" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "ГНО Табылбаган файлдар" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "Гном Файлдар Gtk4 Desktop Icons NG тарабынан талап кылынат." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Демейки файл менеджери жок" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "\"Иноддук же багыттуу\" миметипти колдонгон колдонмо жок" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome файлдары файл менеджери катары катталган эмес" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Gnome Files тиркемеси Folders программасын ачуу үчүн программаланган эмес!\n" +"Xdg утилиткаларын орнотуу\n" +"Gnome файлдарын текшериңиз. Файл орнотуу орнотуу" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Жаңы издөөдөн мурун учурдагы так тандоо" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Файлдарды үстөлдөн табуу" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Жаңы фол" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Фолдер жаратуунун ийгиликсиздиги" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Папканы түзө албайт" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Гном файлдарында жумушчу столду ача албай калуу" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Преференциялар терезеси ачык" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Бул терезе ачык. Сураныч, активдүү терезеге өтүңүз." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Орнотуулар" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Үлгү жаратуу катасы" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Документти түзө албайт" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Аты" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Z-A аталышы" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Өзгөртүлгөн убакыт" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Тип түрү" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Анын өлчөмү" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Сак болгула.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Типке жараша топтолуңуз.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Үйдү сорттоо, айдоочулар, жол жүрүү." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Өзгөрүү үстөлү" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Default Desktop дүкөнүн кайра орнотуу" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Desktop Icon орнотуулары" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Кыска жолдорду көрсөткүлө" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Жаңы документ" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Паст" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Ундо" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Редо" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Баарын тандагыла" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Иконаларды жайгаштыруу" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Келишимди.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Иш үстөлүн көрсөтүү {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Ачык {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell Menu.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "SymLink программасын ишке ашыруу" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Символикалык байланышты түзө албайт" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Копия же кыймыл ийгиликсиз" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} Жок" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Файлдарды тандоо" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Кыймыл-аракет" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Копия" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Байланыш шилтемеси" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Фоллер" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Фай файлы" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Ачылыш файлы ишке ашпай калды" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "\"{fo}\" файлдарды ачуу үчүн эч кандай тиркеме орнотулган эмес." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "{0} менен жаңы фолдер] пункт" +msgstr[1] "{0} менен жаңы фолдер] пункт" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Баарын ачкыла..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Иш баштоо" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "{foo} менен ачыңыз" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Ачык ачык ачык" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Бул жерден үзүндү" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Экстракт." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Ачык болгула..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Бардык нерсени башка колдонмо менен ачыңыз..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Интеграцияланган графика картасын колдонуу менен ишке киргизүү" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Бул типтеги" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Бул типтеги буюмдарды бөлүп чыгаруу" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Программа катары чуркоо" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Скрипттер" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Кесүү" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Кыймылдагыла..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Копиялоо..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Аталышы.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Байланышты түзүү..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Компресс {0} папкасы" +msgstr[1] "Компресс {0} папкасы" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Компресс {0} файлы" +msgstr[1] "Компресс {0} файлы" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Электрондук почта аркылуу.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Мобилдик шайманга жөнөтүү" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Таштандыга көчүп баруу" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Туруктуу өчүрүү" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Учууга уруксат бербеңиз" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Боз таштанды" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Eject" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Толук эмес" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Жалпы касиеттер" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Мүлктөр" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Бардык нерсени {0} менен көрсөтүңүз" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "{0} менен көрсөтүңүз" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "{0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Ачык пункт" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Экстракциядан баш тартуу" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Экстракциялоо мүмкүн эмес Файл, максаттуу папка жок" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Тандалган багыт" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Тандалган" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Каталогду электрондук почта аркылуу жөнөтө албайт" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Тандоо каталогду камтыйт, адегенде.zip файлына кысуу?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Почтадагы ката" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Zip буйругун таба албай, программаны орнотуңуз" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Архив.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Zip архивин түзүүдө ката бар болчу" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Xdg электрондук почтасын таба албай, программаны орнотуңуз" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Файлдарды электрондук почта аркылуу жөнөтүүдө ката бар болчу" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Жумушчу каталогду ача албайт" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Гном консолунда ачылбай калды" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Сураныч, Gnome Console же башка терминалдык программаны орнотуңуз" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Ачылбай {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Сураныч, орнотуңуз {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Копия жокко чыгарылган" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Файлдарды көчүрө албай, бара турган папка жок" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Кыймыл жокко чыгарылган" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Файлдарды жылдырууга мүмкүн эмес, максаттуу папка жок" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$AppNam $ бул типтеги файлдарды ача албайт!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Консол" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Дефолттук кыска жол:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Жаңы типтеги..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Модификатор + ачкыч (мисалы, Ctrl +) Alt + D" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Дефолтко кайтуу" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Акселератор жок" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Системанын кыска жолдору" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Жалпы система аныкталган клавиатуралык кыска жолдор" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Жергиликтүү кыска жолдор" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Колдонмо клавиатурасынын кыска жолдору" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Глобалдык кыска жолдор" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Системалык клавиатуранын кыска жолдору" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Keyboard Кыска жолдор" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Кыска жолдорду калыбына келтирүү" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Бардык кыска жолдорду Defaults үчүн калыбына келтирүү" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Баарын калыбына келтирүү..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Файлдардагы үстөлдү көрсөтүңүз" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Терминалда ачык" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Арттагы өзгөрүүлөр" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Дисплей орнотууларын өзгөртүү" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Десктоптун иконаларын өзгөртүү" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Иконаларды тазалоо" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Тартипке салуу" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Топтомдо сактаңыз" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Сорттук атайын жалбырактар" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Иконаларды аты-жөнү менен жайгаштырыңыз" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Иконаларды аталышынан улам жайгаштырыңыз" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Иконаларды өзгөртүлгөн убакытка жараша жайгаштыруу" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Иконаларды жайгаштыруу Kind тарабынан" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Иконаларды өлчөмү боюнча жайгаштыруу" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Файлдарды табуу" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Жаңыртылган жумушчу стол" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Жашыруун файлдарды көрсөтүңүз" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Бардык тандалбагандар" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Алдын ала текшерүү" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Икона солго тандаңыз" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Туура икона тандаңыз" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Иконаны тандаңыз" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Икон Даун тандаңыз" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Менюну көрсөткүлө" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Shell фондук менюсу" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Desktop Shortcut түзүү" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Текстке кирүү ылдамдашы" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Текстке кирүү ылдамдыгы өчүрүлдү" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Кыска жолду көрсөтүңүз Көрүүчү" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Көрсөтүү же жашыруун үстөл иконалары" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Көбүрөөк маалымат" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Үй үйү" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Таштандылар" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Стек" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Бүзүлгөн байланыш" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Бул файлды ача албайт, анткени ал бузулган симфониялык байланыш" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Айдоочулук" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Преференциялар" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Default" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Команда\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Преференциялар" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" жеткиликтүү эмес" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Бул иш-аракеттерди аткарууга мүмкүндүк берүү үчүн \"${programName}\" " +"орнотуңуз." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Столду тандоо" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Команда табылган жок" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Тандалган файлдарды ачуу үчүн тиркемени тандаңыз." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Бул файл түрү үчүн ар дайым колдонуңуз" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "Канцлер" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Ачык" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "GNOME үстөлүндө иконаларды көрсөтүү" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"desktop;icons;files; папкалар; башкаруучу; жабуу; шоу; ишке киргизүүчү; " +"кыска жолдор;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Көрсөтүңүз <> Жашыруун" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Преференциялар" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Майыптар" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Icon өлчөмү" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Десктоптун иконаларынын өлчөмүн коюңуз." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Жеке папканы көрсөтүңүз" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Жеке папканы үстөлдө көрсөтүңүз." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Таштанды иконасын көрсөтүңүз" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Таштандыларды үстөлгө салып койгула." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Жаңы иконалар башталгыч бурчта" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Иконалар жайгаштырыла баштаган бурчту орнотуңуз." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Сырткы дисктерди үстөлдө көрсөтүңүз" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Компьютерге туташтырылган диск дисктерин көрсөтүңүз." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Тармактык дисктерди үстөлдө көрсөтүңүз" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Жөнөтүлгөн тармактык көлөмдөрдү үстөлдө көрсөтүңүз." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Экрандын карама-каршы жагына жаңы дисктерди кошуңуз" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Дисктерди жана көлөмдөрдү үстөлгө кошкондо, аларды экрандын карама-каршы " +"жагына кошуңуз." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "DnD учурунда максаттуу жерде төрт бурчтукту көрсөтөт" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Drag'n'Drop операциясын жүргүзүүдө, икона жарым-жартылай тунук төрт бурчтук " +"менен жайгаштырыла турган жерди белгилейт." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Сорттук атайын жалбырактар - Үй-бүлөлүк жана соода-сатык." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Иконаларды үстөлгө жайгаштырууда, үйдүн, таштандылардын жана орнотулган " +"тармактын же тышкы дисктердин абалын сорттоо жана өзгөртүү" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Иконаларды уюштуруу" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Иконаларды дайыма сактагыла Акыркы тартиптеги буйрук менен уюштурулган" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Ординардык буйрук" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Бул мүлк тарабынан уюштурулган иконалар" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Иконаларды топтоп тургула" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Ар дайым иконаларды топтоп туруңуз, окшош түрлөрү топтолгон" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Файлдардын түрү" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Сызык түрлөрүнүн массиви, бул типтеги файлдарды топтобоңуз" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Байланыштарга эмблема кошуңуз" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Жумшак байланыштарды аныктоо үчүн эмблема кошуңуз." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Этикеткадагы текст үчүн кара түстү колдонуңуз" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Этикетканын текстин ак эмес, кара түстө боёңуз. Жарык фондорду колдонууда " +"пайдалуу." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "" +"Эгер туташтырылган болсо, негизги эмес монитордо жаңы иконаларды көрсөтүңүз" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Эгерде экинчи монитор туташтырылса, негизги эмес мониторго жаңы иконалар " +"орнотулат" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Иконаларды үстөлдүн каалаган жеринде жайгаштырууга болот" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Иконалар төрт бурчтуу тордо эмес, бирок тордон көз карандысыз каалаган жерде " +"жайгаштырылышы мүмкүн" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +#, fuzzy +msgid "Show Desktop Widgets" +msgstr "Файлдардагы үстөлдү көрсөтүңүз" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Бардык үстөл терезелерин көрсөтүңүз" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Иконаларды үстөлдүн үстүнө көрсөтүңүз же алардын баарын жашырыңыз" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Колдонуучунун колдонмосунун кыска жолдору" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" +"Колдонуучу тарабынан белгиленген демейки өтүнмө кыска жолдору үчүн үстөмдүк" diff --git a/ding/po/lt.po b/ding/po/lt.po new file mode 100644 index 0000000..340621f --- /dev/null +++ b/ding/po/lt.po @@ -0,0 +1,2073 @@ +# Lithuanian translations for gtk4-ding package. +# Copyright (C) 2025 THE gtk4-ding'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Automatically generated, 2025. +# +# Weblate , 2025, 2026. +# Weblate Translation Memory , 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-20 21:36+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Lithuanian \n" +"Language: lt\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%100<10 || n%100>=20) ? 1 : 2);\n" +"X-Generator: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Perkeisti" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Spartieji klavišai" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Keisti sparčiuosius klavišus..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Keisti programų sparčiuosius klavišus" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Spartieji klavišai @ info: whatsthis." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Padėkite išversti į savo interneto naršyklę" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Darbastalis" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Failai" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Tweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "More" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Darbastalio nustatymai" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Darbastalio programos nustatymai" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Darbastalio aplankas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Dabartinis darbastalis:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Failų nustatymai" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Kiti Tweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Darbastalio ženkliukų dydis" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Tiny" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Mažas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Standartas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Didelis" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Naujas ženkliukų lygiavimas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Viršuje kairėje pusėje" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Viršuje dešinėje pusėje" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Apatiniame kairiajame kampe" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Apatiniame dešiniajame kampe" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "NAME OF TRANSLATORS" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Rodyti darbastalio valdiklius" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Naujas darbastalio aplankas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Pasirinkite" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Name" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "@ action: button" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Paryškinti metimo tinklelį" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Pridėti informacijos emblemas nuorodos, šifravimo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Naudokite tamsų tekstą piktogramose" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Rodyti asmeninį aplanką darbastalyje" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Name" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Name" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Rodyti tinklo diskus darbastalyje" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Pridėti naujus diskus į priešingą darbastalio pusę" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Vieną spragtelėjimą" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Dvigubas spragtelėjimas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Rodyti paveikslėlių miniatiūras" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Visada" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Ant šio kompiuterio" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Niekada" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Rodyti kontekstinio meniu elementą, kurį norite ištrinti visam laikui" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Rodyti paslėptus failus" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Vos..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Vertimas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Mašina išversta naudojant Librethrow. Naudotojas patikrino ir redagavo " +"Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Keisti vertimus" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "" +"Patikrinkite, pridėkite ar teisingai išverskite savo žiniatinklio naršyklėje" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Transliuoti" + +# MT: LibreTranslate +#: app/appChooser.js:78 +#, fuzzy +msgid "Choose an application to open {foo}" +msgstr " {foo} < / b >" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Atsiverti failą" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Klaida keičiant numatytąją programą" + +# MT: LibreTranslate +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "Klaida nustatant {foo} kaip numatytąją programą {mimetype}" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Blogi leidimai AppImage faile" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Name." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "@ action: button" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Kitos galimybės" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Skaityti tik" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "arba" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Nieko" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Įgalinti parinktį" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Leisti vykdyti failą kaip programą" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Nepatikimas programinio atvaizdžio failas" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Name Paveikslėlio failas nėra patikimas, jis negali būti paleistas." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "@ info: tooltip" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "įjungti" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Leisti paleisti" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Aplanko pavadinimas" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Failo pavadinimas" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "GERAI" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Pervadinti" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Auto Ar neįdiegtas" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Gebėti dirbti su suspaustų failų, įdiegti file- volas ir / arba gir-1.2-" +"gnome AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Failų išėmimas" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Suspausti failus" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Atsisakyti" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Čia įveskite slaptažodį" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Šalinamas dalinis failas '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Failų išgavimas '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Ekstrahavimas baigtas" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Ekstrahavimas '${fullPathFile}' baigtas." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Ekstrahavimas atšauktas" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Ekstrahavimas '${fullPathFile}' buvo atšauktas vartotojo." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Slapta frazė privaloma ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Klaida ekstrahuojant" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Suspaudus failus '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Suspausta" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Užpildytos suspaudimo bylos '${outputFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Anuliuotas suspaudimas" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "Suspaudus failus '${outputFile}', naudotojas juos anuliavo." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Klaida suspaudimo metu" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Sukurti archyvą" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Archyvo pavadinimas" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Slaptažodis" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Sukurti" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Suderinama su visomis operacinėmis sistemomis." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Slaptažodis apsaugotas .zip, turi būti įdiegta Windows ir Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Mažesni archyvai, bet tik Linux 'ai ir Mac' ai." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Mažesni archyvai, bet turi būti įdiegta Windows ir Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Name" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"Name\n" +"\n" +"Prašome patikrinti šio darbastalio aplanko leidimus ir įsitikinti, kad jo " +"negali įrašyti kiti." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Sulūžęs darbastalio failas" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Darbastalio failas turi klaidų arba taškų į programą be leidimų. Blokas " +"negali būti įvykdytas.\n" +"\n" +"Keisti failą, norėdami nustatyti teisingą vykdomąją programą." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Blogi leidimai darbastalio faile" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Darbastalio failas turi neteisingus leidimus." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Nepatikimas darbastalio failas" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Darbastalio failas nėra patikimas, jo negalima paleisti." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Nepavyko atverti Failas" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} negali atverti šio tipo failų!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Darbastalio aplankas Pakeitimas nepavyko" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Naujas darbastalio aplankas yra simbolinė nuoroda" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "NAME OF TRANSLATORS!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Darbastalio aplankas pakeistas" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Pereiti į naują darbastalį..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Darbastalio ženkliukai" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Atnaujinti darbastalį" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Pridėti valdiklį" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Monitoriaus rėmo buferis Mastelis neįjungtas" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Keli monitoriai su skirtingais mastelio nustatymais, rekomenduojame vienam " +"monitoriui Fundamentabuffer mastelio.\n" +"\n" +"@ info: whatsthis" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Keli monitoriai su skirtingais mastelio nustatymais.\n" +"\n" +"Name?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Įjungti" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "@ info: status" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Darbastalio aplankas {desktop} yra simbolinė nuoroda\n" +"\n" +"@ info: whatsthis" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Darbastalio aplankas {desktop} neegzistuoja arba nėra katalogas\n" +"\n" +"Patikrinkite savo xdg- utils įdiegimą ir nustatykite teisingą darbastalio " +"aplanką" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME Failai nerasti" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "GNOME Name." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "NAME OF TRANSLATORS" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Nėra programos, kuri tvarkytų mime tipo \"inode / caption\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome failai neregistruojami kaip failų tvarkyklė" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Gnome failų programa nėra užprogramuota aplankai atverti!\n" +"Patikrinkite savo xdg- utils diegimą\n" +"Patikrinkite Gnome failus .desktop Failų diegimas" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Išvalyti dabartinį pasirinkimą prieš naują paiešką" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Ieškoti failų darbastalyje" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Naujas aplankas" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Aplankų kūrimas nepavyko" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Nepavyko sukurti aplanko" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Nepavyko atverti darbastalio Gnome failuose" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Name" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Langas atidarytas. Prašome pereiti prie aktyvaus lango." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Nustatymai" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Šablono kūrimo klaida" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Nepavyko sukurti dokumento" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Pavadinimas" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Pavadinimas Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Modifikuotas laikas" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Tipas" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Dydis" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Baikit.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Rikiuoti namų / Drives / šiukšlių.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Pakeisti darbastalį" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Name" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Darbastalio ženkliukų nustatymai" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Rodyti sparčiuosius klavišus" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Naujas dokumentas" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Įdėti" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Atsisakyti" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "@ action: button" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Žymėti visus" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Lankyti ženkliukus" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Rodyti darbastalį {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Open Un {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Redaguoti programėles" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell Menu.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Name" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Nepavyko sukurti simbolinės nuorodos" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Kopijuoti / perkelti nepavyko" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} NAME OF TRANSLATORS" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Pasirinkite veiksmą failams" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Move" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Kopijuoti" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Nuoroda" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Aplankas" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Failas" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Nepavyko atverti failo" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "out \"{fo}\"" + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "out {0}" +msgstr[1] "out {0}" +msgstr[2] "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Open All..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Paleisti" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Open with {foo}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Open" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Šalinti čia" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Pašalinti į..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "@ info: whatsthis." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "@ info: whatsthis." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Leisti naudojant integruotą grafikos kortelę" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Stock šio tipo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Šalinti šį tipą" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Vykdyti kaip programą" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Scenarijai" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "NAME OF TRANSLATORS" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Pereiti į..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Kopijuoti į..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Pervadinti.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Sukurti nuorodą..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Suspauskite {0} aplanką" +msgstr[1] "Suspauskite {0} aplanką" +msgstr[2] "Suspauskite {0} aplanką" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Suspauskite {0} failą" +msgstr[1] "Suspauskite {0} failą" +msgstr[2] "Suspauskite {0} failą" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "E. paštas..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Siųsti į mobilųjį įrenginį" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Pereiti į šiukšlinę" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Trinti visam laikui" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Neleisti paleisti" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Tuščia šiukšlė" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Išstumti" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "@ action: button" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Bendrosios savybės" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Savybės" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Rodyti visus {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Rodyti {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Open in {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Ekstrahavimas atšauktas" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Nepavyko išgauti Failas, be paskirties aplanko" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Pasirinkite paskirties vietą" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Pasirinkti" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "@ info: tooltip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Pasirenkama yra katalogas, suspausti į .zip failą pirma?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Pašto klaida" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Nepavyko rasti Zp komandos, įdiekite programą" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Kuriant zip archyvą įvyko klaida" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Nepavyko rasti xdg- el.pašto, įdiekite programą" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Error message" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Nepavyko atverti darbinio aplanko" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Nepavyko atverti Gnome konsolės" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Prašome įdiegti Gnome konsolę ar kitą terminalo programą" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Nepavyko atverti {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Prašome įdiegti {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Kopijuoti atšauktą" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Nepavyko nukopijuoti failų, nėra paskirties aplanko" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "NAME OF TRANSLATORS" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Nepavyko perkelti failų, nėra paskirties aplanko" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName $negali atverti failų šio tipo!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Konsolė" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "NAME OF TRANSLATORS" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Tipas naujas..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modifikatorius + raktas (pvz., Ctrl +) Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Nr akceleratorius" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "@ action: button" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Name" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Comment" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Comment" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Globalūs spartieji klavišai" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Name" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Klaviatūros klavišai" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "@ info: tooltip" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Atsistatyti visus..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Rodyti darbastalį failuose" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Open in Terminal" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Keisti fonsąName" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Keisti rodymo nustatymus" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Keisti darbastalio ženkliukų nustatymus" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Išvalyti ženkliukus" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Laikyti" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "@ action: button" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Rikiuoti specialius aplankius" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Lankyti ženkliukus pagal pavadinimą" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Lankyti ženkliukus mažėjimo tvarka" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Lankyti ženkliukus By Kind" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Lankyti ženkliukus pagal dydį" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Ieškoti failų" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Atnaujinti darbastalį" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Rodyti paslėptus failus" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "NAME OF TRANSLATORS" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Peržiūra" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Pridėti valdiklį" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Pasirinkite ženkliuką kairėje" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Pasirinkite piktogramą" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Pasirinkite piktogramą žemyn" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Rodyti meniu" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Rodyti fono meniu" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Sukurti darbastalio klavišą" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Rodyti sparčiąją veikseną Žiūrovas" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Rodyti arba slėpti darbastalio ženkliukus" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "More information" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Namai" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Trūkumai" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Stock" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Name" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Nepavyko atverti šio failo, nes jis yra skaldytas Symlink" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Diskas" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Nustatymai" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Naudotojas/Vartotojas" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Leisti" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Griežtas" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Mažesnis" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Plėtra" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Numatytasis" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Komanda:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Nustatymai" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" nėra" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Įdiegti \"${programName}\", kad darbastalio ženkliukai galėtų atlikti šiuos " +"veiksmus." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Pasirinkite darbastalio aplanką" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Komanda nerasta" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Pasirinkite programą pažymėtiems failams atverti." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Visada naudoti šio tipo failams" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_ Atsisakyti" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_ atidaryti" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "GNOME darbastalyje rodyti ženkliukus" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"darbastalis; piktogramos; failai; aplankai; vadovas; organizuoti; slėpti; " +"rodyti; paleidimo; spartieji;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Rodyti < > Slėpti" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Nustatymai" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Išjungti" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Ženkliukų dydis" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "@ info: whatsthis." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Rodyti asmeninį aplanką" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Name." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Rodyti šiukšliadėžės piktogramą" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Name." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Comment" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "@ info: whatsthis." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Name" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Rodyti diskus, prijungtus prie kompiuterio." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Rodyti tinklo diskus darbastalyje" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Name." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Pridėti naujus diskus į priešingą ekrano pusę" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Siųsdami diskus ir tomus į darbastalį, įdėkite juos į priešingą ekrano pusę." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "NAME OF TRANSLATORS" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "@ info: whatsthis." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Rikiuoti specialius aplankai - Pradžia / Trash Drives." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Visada laikyti ženkliukus NAME OF TRANSLATORS" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "@ info: tooltip" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "@ info: tooltip" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Visada laikyti ženkliukus Kreiptus, Panašūs tipai yra sugrupuoti" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "NAME OF TRANSLATORS" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Array stygų tipų, Negalima kamino šių failų tipai" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Pridėti emblemą į nuorodas" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Pridėti emblemą, kad būtų galima nustatyti minkštas nuorodas." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Naudokite juodą etiketės tekstui" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Tapkite etiketės tekstą juodu, vietoje balto. Naudinga, kai naudojant " +"šviesos fonas." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "NAME OF TRANSLATORS" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ženkliukai gali būti išdėstyti bet kurioje darbastalio vietoje" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ženkliukai nėra stačiakampio formos, bet gali būti pozicionuojami bet kur, " +"nepriklausomai nuo tinklelio" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Rodyti darbastalio valdiklius" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Slėpti / rodyti visus darbastalio langus" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Rodyti ženkliukus darbastalyje arba juos visus slėpti" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Vartotojo programų spartieji klavišai" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Name" diff --git a/ding/po/lv.po b/ding/po/lv.po new file mode 100644 index 0000000..cebcfed --- /dev/null +++ b/ding/po/lv.po @@ -0,0 +1,2076 @@ +# Latvian translations for gtk4-ding package. +# Copyright (C) 2025 THE gtk4-ding'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Automatically generated, 2025. +# +# Weblate , 2025, 2026. +# Weblate Translation Memory , 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-20 21:36+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Latvian \n" +"Language: lv\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 != 0 ? 1 : 2;\n" +"X-Generator: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Mainīt" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Saīsnes" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Rediģēt īsceļus..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Rediģēt programmu īsceļus" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Saīsnes Rediģējams tikai tad, kad ir ieslēgts paplašinājums..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Palīdzība tulkot jūsu tīmekļa pārlūkā" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Darbvirsma" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Faili" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Traucējumi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Vairāk" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Darbvirsmas iestatījumi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Darbvirsmas programmas iestatījumi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Darbvirsmas mape" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Aktīvā darbvirsma:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Failu iestatījumi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Koplietošanas iestatījumi ar Gnome failiem" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Dažādi Traucējumi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Darbvirsmas ikonu izmērs" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Mazs" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Mazs" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Standarta" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Liels" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Jauna ikonu izlīdzināšana" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Augšējais kreisais stūris" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Augšējā labajā stūrī" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Apakšējais kreisajā stūrī" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Apakšējā labajā stūrī" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" +"Vispirms pievienot jaunas ikonas sekundārajiem monitoriem, ja pieejamas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Ikonas uz režģu" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "Rādīt darbvirsmu failos" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Jauna darbvirsmas mape" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Iestatīt jaunu darbvirsmas mapi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Izvēlēties" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Uzstādīt darbvirsmu atpakaļ uz ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Atjaunot noklusēto darbvirsmas mapi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Atjaunot" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Izcelt nomešanas režģi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Pievienot informācijas emblēmas saitēm, šifrēšanai" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Lietot tumšo tekstu ikonu etiķetēs" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Rādīt personisko mapi uz darbvirsmas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Rādīt miskastes ikonu uz darbvirsmas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Parādīt uz darbvirsmas ārējos diskus" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Rādīt tīkla diskus uz darbvirsmas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Pievienot jaunus diskus darbvirsmas pretējā pusē" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Darbība, lai atvērtu ierakstus" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Viens klikšķis" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Dubultklikšķis" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Rādīt attēla sīktēlus" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Vienmēr" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Tikai šajā datorā" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Nekad" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Rādīt konteksta izvēlnes ierakstu, ko dzēst neatgriezeniski" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Rādīt slēptos failus" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Atvērt mapes, kad uzkavējas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Par..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Tulkojums" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Mašīntulkots, izmantojot LibreTranslate. Lietotājs pārbaudīts un rediģēts uz " +"Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Rediģēt tulkojumus" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Pārbaudīt, pievienot vai labot tulkojumu tīmekļa pārlūkprogrammā" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Tulkot" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Izvēlieties kādu programmu atvērt {foo} " + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Atvērt vienības" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Atvērt mapi" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Atvērt failu" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Kļūda mainot noklusēto programmu" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Nederīgas atļaujas lietotnes failam" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Šai lietotnei ir nepareizas atļaujas." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Tiesības Noklikšķiniet, lai rediģētu īpašības, tad:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Iestatīt atļaujas, iekš" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Citi piekļūt" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Tikai lasīt" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "vai" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Nav" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Ieslēgt" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Atļaut darbināt failu kā programmu" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Neuzticams AppImage fails" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Šī programma Attēla fails nav uzticams, to nevar palaist." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Lai atļautu palaišanu ar peles labo pogu, tad:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "ieslēgt" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Atļaut palaišanu" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Mapes nosaukums" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Faila nosaukums" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "LABI" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Pārdēvēt" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Auto Ar nav uzstādīts" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Lai varētu strādāt ar saspiestu failus, instalēt failu roller un / vai " +"gir-1,2-Gnome AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Dzēš failus" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Saspiešanas faili" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Atcelt" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Šeit ievadiet paroli" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Daļēja faila dzēšana '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Veido mērķa mapi" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Failu ekstrakcija '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Ekstrakcija pabeigta" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Ir pabeigta ekstrakcija '${fullPathFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Ekstrakcija atcelta" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Lietotājs anulēja ekstrakciju '${fullPathFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "${filename} nepieciešama parole" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Kļūda ekstrakcijas laikā" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Failu saspiešana '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Saspiešana pabeigta" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Failu saspiešana '${outputFile}' ir pabeigta." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Atcelta saspiešana" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Izvades fails '${outputFile}' jau eksistē." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "Lietotājs anulējis failu iespiešanu '${outputFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Kļūda saspiešanas laikā" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Izveidot arhīvu" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Arhīva nosaukums" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Parole" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Izveidot" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Savietojams ar visām operētājsistēmām." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Parole aizsargāts .zip, jāuzstāda Windows un Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Mazāki arhīvi, bet Linux un Mac tikai." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Mazāki arhīvi, bet tie jāuzstāda uz Windows un Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Attēloto darbvirsmu raksta citi" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop failus nevar palaist no šīs darbvirsmas, jo darbvirsmas mape ir " +"rakstāma citiem lietotājiem.\n" +"\n" +"Lūdzu pārbaudiet šīs darbvirsmas mapes atļaujas un pārliecinieties, ka citi " +"to nav rakstījuši." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Bojāts darbvirsmas fails" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Šis .desktop fails ir kļūdas vai norāda uz programmu bez atļaujām. To nevar " +"izpildīt.\n" +"\n" +"Rediģēt failu, lai iestatītu pareizo izpildāmo programmu." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Nederīgas atļaujas darbvirsmas failā" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Darbvirsmas failam ir nepareizas atļaujas." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Neuzticams darbvirsmas fails" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Šis darbvirsmas fails nav uzticams, to nevar palaist." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Neizdevās atvērt Fails" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} nevar atvērt šī tipa failus!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Darbvirsmas mape Neizdevās mainīt" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Jaunā darbvirsmas mape ir simboliska saite" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Jaunā darbvirsmas mape neeksistē vai nav mape!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Darbvirsmas mape mainīta" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Pārslēdz uz jaunu darbvirsmu..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Darbvirsmas ikonas" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Atjaunināt darbvirsmu" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Pievienot logrīku" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Monitora kadru buferis Mērogošana nav ieslēgta" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Vairāki monitori ar dažādiem tālummaiņas iestatījumiem, iesaka katram " +"monitoram rāmja bufera mērogošanu.\n" +"\n" +"Lūdzu ieslēdziet Mutter Dconf iestatījumus" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Vairāki monitori ar dažādiem tālummaiņas iestatījumiem.\n" +"\n" +"Ieslēgt kadru bufera mērogošanu katram monitoram Mutter Dconf iestatījumos?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Ieslēgt" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Nevar rādīt darbvirsmu" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Darbvirsmas mape {desktop} ir simboliska saite\n" +"\n" +"Lūdzu, iestatiet darbvirsmas mapi uz īstu mapi" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Darbvirsmas mape {desktop} nepastāv vai nav mape\n" +"\n" +"Pārbaudiet savu xdg-util instalāciju un iestatiet pareizo darbvirsmas mapi" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME Faili nav atrasti" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "GNOME Failu aplikāciju pieprasa Gtk4 Desktop ikonas NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Nav noklusētā failu pārvaldnieka" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Nav lietojumprogrammas, kas apstrādā mime tipu \"inode/direktorija\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome faili nav reģistrēti kā failu pārvaldnieks" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Gnome failu programma nav ieprogrammēta, lai atvērtu mapes!\n" +"Pārbaudiet savu xdg-util instalāciju\n" +"Pārbaudīt Gnome failus .desktop Failu instalācija" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Notīrīt izvēlēto pirms jaunas meklēšanas" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Meklēt failus darbvirsmā" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Jauna mape" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Neizdevās izveidot mapi" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Neizdevās izveidot mapi" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Neizdevās atvērt darbvirsmu Gnome failos" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Iestatījumi Logs ir atvērts" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Logs ir atvērts. Lūdzu pāriet uz aktīvo logu." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Iestatījumi" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Sagataves izveidošanas kļūda" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Neizdevās izveidot dokumentu" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Nosaukums" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Nosaukums Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Mainītais laiks" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Veids" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Izmērs" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Paturēt sakārtotu.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Paturēt & steku pēc tipa.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Kārtot mājas/braucienus/izmetumus.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Mainīt darbvirsmu" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Atjaunot noklusēto darbvirsmu" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Darbvirsmas ikonu iestatījumi" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Rādīt īsceļus" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Jauns dokuments" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Ielīmēt" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Atsaukt" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Atkārtot" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Izvēlēties visu" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Sakārtot ikonas" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Sakārtot pēc.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Rādīt darbvirsmu iekš {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Atvērts {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Čaulas izvēlne.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Neizdevās padarīt SymLink" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Neizdevās izveidot simbolisku saiti" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Neizdevās kopēt/ pārvietot" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} Nav" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Izvēlieties darbību failiem" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Pārvietot" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Kopēt" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Saikne" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Mape" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Fails" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Neizdevās atvērt failu" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Nav instalēta neviena programma, lai atvērtu \"{fo}\" failus." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Jauna mape ar {0} Postenis" +msgstr[1] "Jauna mape ar {0} Postenis" +msgstr[2] "Jauna mape ar {0} Postenis" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Atvērt visu..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Palaist" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Atvērt ar {foo}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Atvērt" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Atspiest šeit" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Atspiest uz..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Atvērt ar..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Atvērt visu ar citu programmu..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Palaist izmantojot integrēto grafikas karti" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Steks šis tips" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Atsaukt šo tipu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Darbināt kā programmu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Skripti" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Izgriezt" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Pārvietot uz..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Kopēt uz..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Pārdēvēt.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Izveidot saiti..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Kompreses {0} mape" +msgstr[1] "Kompreses {0} mape" +msgstr[2] "Kompreses {0} mape" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Kompreses {0} fails" +msgstr[1] "Kompreses {0} fails" +msgstr[2] "Kompreses {0} fails" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Sūtīt uz..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Sūtīt mobilajai ierīcei" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Pārvietot uz miskasti" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Neatgriezeniski izdzēst" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Neļaut palaišanu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Iztukšot miskasti" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Izgrūst" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Nomontēt" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Kopējās īpašības" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Īpašības" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Rādīt visu {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Rādīt {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Atvērts {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Atvērt ierakstu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Ekstrakcija atcelta" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Neizdevās iegūt Fails, nav mērķa mapes" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Izvēlieties mērķi" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Izvēlēties" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Nevar nosūtīt e- pastu mapei" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Atlase ietver direktoriju, saspiest uz .zip failu vispirms?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Pasta kļūda" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Nevar atrast zip komandu, lūdzu, instalējiet programmu" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Gadījās kļūda veidojot zip arhīvu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Neizdevās atrast xdg-email, lūdzu, instalējiet programmu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Kļūda nosūtot failus" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Nevar atvērt darba mapi" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Neizdevās atvērt Gnome konsolē" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Lūdzu, instalējiet Gnome konsoli vai citu termināļa programmu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Neizdevās atvērt {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Lūdzu, instalējiet {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Kopēt anulēts" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Neizdevās kopēt failus, nav mērķa mapes" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Pārvietot atceltu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Neizdevās pārvietot failus, nav mērķa mapes" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ nevar atvērt šī tipa failus!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Konsole" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Noklusētais īsceļš:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Rakstīt jaunu..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modificētājs + taustiņš (piemēram, Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Atstatīt uz noklusēto" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Nav paātrinātāja" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Sistēmas īsceļi" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Kopējie sistēmas definētie tastatūras īsceļi" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Lokālie īsceļi" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Programmu tastatūras īsceļi" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Globālie īsceļi" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Sistēmas tastatūras īsceļi" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Tastatūras īsceļi" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Atstatīt īsceļus" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Atstatīt visus īsceļus uz noklusētajiem" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Atstatīt visus..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Rādīt darbvirsmu failos" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Atvērt terminālī" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Mainīt fonu" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Mainīt ekrāna iestatījumus" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Mainīt darbvirsmas ikonu iestatījumus" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Attīrīt ikonas" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Paturēt sakārtotu" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Paturēt uz vietas" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Kārtot īpašas mapes" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Sakārtot ikonas pēc nosaukuma" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Name" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Sakārtot ikonas pēc modificēta laika" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Sakārtot ikonas Pēc vienādiem" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Sakārtot ikonas pēc izmēra" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Meklēt failus" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Atjaunināt darbvirsmu" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Rādīt slēptos failus" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Noņemt izvēli" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Priekšskatījums" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Pievienot logrīku" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Izvēlieties ikonu pa kreisi" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Izvēlieties ikonu pa labi" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Izvēlieties ikonu augšup" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Izvēlēties ikonu lejup" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Rādīt izvēlni" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Rādīt čaulas fona izvēlni" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Izveidot darbvirsmas īsceļu" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Teksta ieraksta akceleri ieslēgti" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Teksta ievades akceleri izslēgti" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Rādīt īsceļu Skatītājs" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Rādīt vai slēpt darbvirsmas ikonas" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Vairāk informācijas" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Mājas" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Miskaste" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Steks" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Salauzta saite" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Nevar atvērt šo failu, jo tas ir bojāta Symlink" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Disks" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Iestatījumi" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Lietotājs" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Atļaut" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Brīvāks" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Attīstība" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Nepildīt" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Komanda:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Iestatījumi" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" nav pieejams" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Instalēt \"${programName}\", lai darbvirsmas ikonas varētu veikt šīs " +"darbības." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Izvēlieties darbvirsmas mapi" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Komanda nav atrasta" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Izvēlieties programmu izvēlēto failu atvēršanai." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Vienmēr izmantot šim faila tipam" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "At_celt" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Atvērt" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Rādīt GNOME darbvirsmas ikonas" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "darbvirsma;icons;files;folders;manager;arange;hide;show;palaišana;shortcuts;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Rādīt 'slēpt'" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Iestatījumi" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Atslēgt" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Ikonas izmērs" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Norāda darbvirsmas ikonu izmēru." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Rādīt personīgo mapi" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Rādīt darbvirsmas personīgo mapi." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Rādīt miskastes ikonu" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Rādīt miskastes ikonu darbvirsmā." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Jaunas ikonas sākuma stūrī" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Iestatiet stūri, no kurienes ikonas sāks ievietot." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Rādīt ārējos diskus darbvirsmā" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Rādīt datoram pieslēgtos diskus." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Rādīt tīkla diskus darbvirsmā" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Rādīt montētos tīkla apjomus darbvirsmā." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Pievienot jaunus diskus ekrāna pretējā pusē" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Pievienojot darbvirsmai diskus un apjomus, pievienojiet tos ekrāna pretējā " +"pusē." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Rāda taisnstūri mērķa vietā DnD laikā" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Veicot Drag'n'Drop darbību, iezīmē vietu režģī, kur ikona tiks likta ar " +"puscaurspīdīgu taisnstūri." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Kārtot īpašas mapes - Home/ Trash Drives." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Organizējot ikonas uz darbvirsmas, sakārtot un mainīt atrašanās vietu Home, " +"Trash un montēts Tīkls vai Ārējie diski" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Paturēt ikonas sakārtotas" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Vienmēr paturēt ikonas Sakārtots pēc pēdējās sakārtotās kārtības" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Sakārtot kārtību" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Šī īpašuma ikonas" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Paturēt ikonas sakrautas" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Vienmēr paturēt Icons Stacked, Līdzīgi veidi ir grupēti" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Failu tipi, kurus nav kaudzīt" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Stīgu tipa masīvs, nekakājiet šos failu tipus" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Pievienot emblēmu saitēm" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Pievienot emblēmu, lai varētu identificēt mīkstās saites." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Lietot melno etiķetes tekstam" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Zīmēt etiķetes tekstu melnā, nevis baltā krāsā. Noder, ja izmanto gaismas " +"fonu." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Rādīt jaunas ikonas pie neprimārā monitora, ja pieslēdzies" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Ja ir pievienots otrs monitors, uz neprimārā monitora tiek novietotas jaunas " +"ikonas" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ikonas var novietot jebkurā darbvirsmā" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ikonas nav taisnstūra režģī, bet tās var izvietot jebkur neatkarīgi no režģa" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +#, fuzzy +msgid "Show Desktop Widgets" +msgstr "Rādīt darbvirsmu failos" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Slēpt/rādīt visus darbvirsmas logus" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Rādīt ikonas uz darbvirsmas vai paslēpt tās visas" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Lietotāja īsceļi" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Aizstāt Lietotāja iestatītos noklusētos programmas īsceļus" diff --git a/ding/po/meson.build b/ding/po/meson.build new file mode 100644 index 0000000..8d02255 --- /dev/null +++ b/ding/po/meson.build @@ -0,0 +1,28 @@ +system_localedir = join_paths(datadir, 'locale') +user_localedir = join_paths(extensions_dir, 'locale') + +localedir = prefix.startswith('/usr') ? system_localedir : user_localedir + +proj_root = meson.project_source_root() +po_autofill_script = proj_root / 'scripts' / 'po-autofill.mjs' + +node = find_program('node', required: false) + +i18n.gettext ( + meson.project_name (), + preset: 'glib', + install_dir: localedir +) + +if node.found() + lt_env = environment() + lt_env.set('LT_URL', 'http://localhost:5000') + lt_env.set('LT_SOURCE', 'en') + lt_env.set('LT_API_KEY', '') + + # Run LibreTranslate auto-fill over all languages from LINGUAS --- + run_target('po-autofill', + command: [ node, po_autofill_script ], + env: lt_env + ) +endif \ No newline at end of file diff --git a/ding/po/ms.po b/ding/po/ms.po new file mode 100644 index 0000000..1eefbbd --- /dev/null +++ b/ding/po/ms.po @@ -0,0 +1,2077 @@ +# Malay translations for gtk4-ding package. +# Copyright (C) 2025 THE gtk4-ding'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Automatically generated, 2025. +# +# Weblate , 2025, 2026. +# Weblate Translation Memory , 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:10+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Malay \n" +"Language: ms\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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Pintasan" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Jalan Pintas." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Edit Jalan Pintas Aplikasi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Pintasan Hanya dapat disunting ketika Sambungan Diaktifkan..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "[ Gambar di hlm" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Tak ada berkas di mana-mana" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Ulat" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Amerika Serikat" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Tetapan Desktop PeribadiName" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Pengaturan Beragam untuk Program Desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Folder Desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Desktop Semasa:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Tetapan Profil" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Pengaturan perimbangan dikongsi dengan Gnome Files" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Lain-lain Ulat" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Ukuran untuk ikon desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Tiny" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Perancis Kecil" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Standar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Besar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Ikon baru di alignmen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Pojok kiri atas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Pojok kanan atas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Pojok kiri bawah" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Pojok kanan bawah" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Tambahkan ikon baru ke Sekunder Monitor dahulu, jika tersedia" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Snap ikon ke kisi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "Tampilkan Desktop dalam Berkas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Folder Desktop BaruNew" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Tak ada folder baru bagi desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Pilih" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Ditetapkan Desktop kembali ke ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Pulihkan Folder Desktop Default" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Pulihkan" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Sorotkan grid drop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Tambahkan lambang informasi untuk link, enkripsi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Guna teks gelap pada label ikon" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Memperlihatkan folder pribadi pada desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Menampilkan ikon sampah pada desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Papar pemacu eksternal pada desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Menampilkan drive jaringan pada desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Tambahkan pemacu baru ke sisi berlawanan desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Aksi untuk Membuka Item" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Klik tunggal" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Klik dua kali" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "BARIS Tampilkan gambar thumbnail" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Sentiasa" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Hanya komputer ini saja" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Tak pernah" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Tampilkan item menu konteks untuk dipadam secara permanen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Tersembunyi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Buka folder pada drag hover" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Tentang..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Terjemahan Terjemahan Terjemahan Baru" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Mesin kinche diterjemahkan menggunakan LibreTranslate. Pengguna KOSID " +"diverifikasi dan disunting di Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Terjemahan Terjemahan Terjemahan Terjemahan Terjemahan Baru" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Verifikasi, tambahkan atau benar terjemahan dalam peramban web Anda" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Terjemahan" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Tak ada aplikasi untuk membuka {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Item Terbuka" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Open Folder" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Open File" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Ralat ketika mengubah aplikasi default" + +# MT: LibreTranslate +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" +"Galat sewaktu menetapkan {foo} sebagai aplikasi default untuk {mimetype}" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Hak Akses Tak Sah pada Berkas AppImage" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "AppImage File ini memiliki kebenaran yang salah." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Klik Kanan untuk mengedit Properti, kemudian:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Izin, masuk" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Akses Lain-lain" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Baca Saja" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "fiji atau" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Amerika/None" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Opsi dapat diaktifkan" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Melaksanakan Fail sebagai Program" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Berkas AppImage Tak Terpercaya yang Tak Dipercayai" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Ini App File gambar tidak dipercaya, tidak dapat diluncurkan." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Untuk mengaktifkan peluncuran, klik-kanan, kemudian:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "adakan" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Luncurkan" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Nama Folder" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Nama Berkas" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "OK" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Tukarnama" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Oto Faks Ar tidak dipasang" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Untuk dapat bekerja dengan file termampat, pasang file-roller dan/atau " +"gir-1.2-gnome OtoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Mengekstrak file" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Mampatkan file" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Batal" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Masukkan kata sandi di sini" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Membuang berkas parsial '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Cipta folder destinasi" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Mengekstrak file ke dalam '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Pengekstrakan selesai" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Pengekstrakan Ekstraksi '${fullPathFile}' telah selesai." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Pengekstrakan akan dibatalkan" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Pengekstrakan '${fullPathFile}' telah dibatalkan oleh pengguna." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Frasa laluan diperlukan untuk ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Ralat pada saat ekstraksi" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Mampatkan file kedalam '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Mampatan madya selesai" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Berkas mampatan ke dalam '${outputFile}' telah selesai." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Mampatan sederhana" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Berkas output '${outputFile}' sudah ada." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "Pemampat file ke dalam '${outputFile}' telah dibatalkan oleh pengguna." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Kesalahan selama kompresi" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Cipta arsip" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Nama Arsip" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Kata Sandi" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Cipta" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Cocok dengan semua sistem operasi." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "" +".zip yang dilindungi oleh kata sandi, harus dipasang pada Windows dan Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Arsip yang lebih kecil tapi Linux dan Mac saja." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Arsip yang lebih kecil tetapi harus dipasang pada Windows dan Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Tidak dapat ditulis oleh orang lain" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"Berkas .deskop tidak dapat diluncurkan dari Desktop ini karena Folder " +"Desktop dapat ditulis oleh pengguna lain.\n" +"\n" +"Sila periksa izin Folder Desktop ini, dan pastikan tidak boleh ditulis oleh " +"orang lain." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Berkas Desktop Broken Infak" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Berkas .desktop ini memiliki kesalahan atau titik ke program tanpa izin. Ini " +"tidak bisa dieksekusi.\n" +"\n" +"Edit file tersebut untuk mengatur program dapat dieksekusi yang benar." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Keizinan Tak Sah pada Berkas Desktop" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Berkas Desktop ini memiliki kebenaran yang salah." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Berkas Desktop Tak Dapat Dipercayai" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "File Desktop ini tidak dipercaya, tidak dapat diluncurkan." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Tidak dapat dibuka Berkas" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "[{appName} tidak dapat membuka berkas jenis ini!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Folder Desktop Perubahan Gagal" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Elias Folder Desktop yang baru adalah Link Simbolik" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Ghodia Folder Desktop baru tidak ada atau bukan folder!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Folder Diubah" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Beralih ke Desktop baru..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Ikon Desktop Ikon" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Desktop Update" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Tambah Widget" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Penimbal Kerangka Pantau Penskalaan hingar tidak diaktifkan" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Berbagai monitor dengan pengaturan zum yang berbeda, merekomendasikan per " +"monitor framebuffer penskalaan.\n" +"\n" +"Tolong aktifkan dalam Pengaturan Dconf Metater" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Multiple monitor dengan pengaturan zum yang berbeda.\n" +"\n" +"Memungkinkan per monitor penskalaan framebuffer dalam Pengaturan Dconf " +"Mutter?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Hidupkan" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Tak Dapat Menampilkan Desktop" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Folder Desktop {desktop} adalah sebuah Link Simbolik\n" +"\n" +"Sila tetapkan Folder Desktop ke Folder nyata" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Folder Desktop {desktop} tidak ada, atau bukan sebuah Direktori\n" +"\n" +"Periksa pemasangan xdg-utils anda dan tetapkan Folder Desktop yang benar" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME Fail tidak dijumpai" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "" +"GNOME Aplikasi Berkas Tak Berguna diperlukan oleh Gtk4 Desktop Icons NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Tak ada Manajer Berkas Default" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Tak ada aplikasi yang menangani mimetype \"inode/directory\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Tak ada Gnome Files yang terdaftar sebagai File Manager" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Aplikasi Gnome Berkas Tak Diprogramkan untuk Membuka Folder!\n" +"Periksa instalasi xdg-utils Anda\n" +"Periksa Gnome Berkas .desktop Pemasangan Fail" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Bersihkan pemilihan semasa sebelum pencarian baru" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Cari Berkas di Desktop" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Amerika/Folder Baru" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Gagal menciptakan folder" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Tak dapat membuat folder" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Tak dapat membuka Desktop dalam Gnome Files" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Jendela Keutamaan Anjuta Terbuka" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Jendela ini terbuka. Sila beralih ke jendela aktif." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Pengaturan" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Galat Membuat Templat" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Tak dapat membuat dokumen" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Nama" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Nama : Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Waktu Diubah suai" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Jenis" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Ukuran" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Terus Arranged .." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Type.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Urutkan Home/Drive/Sampah.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Desktop Ubahan" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Pulihkan Desktop Default" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Tetapan Ikon Desktop GNOME" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Jalan Pintas" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Dokumen Baru" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Macedonia" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "ASUD" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Redo" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "♪ Pilih Semua ♪" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Arrange Ikon" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Atur Oleh.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Tunjuk Desktop Dalam {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Buka dalam {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Menu kerang.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Gagal Membuat SymLink" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Tak dapat membuat pautan simbolik" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Salin/Pindah Gagal" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} tidak ada" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Pilih Aksi untuk Berkas" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Pindah" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "_Salin" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Link" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "XFolder" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Berkas" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Gagal Membuka Fail" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Tak ada aplikasi yang dipasang untuk membuka berkas \"{fo}\"." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Folder Baru dengan {0} ♪ item ♪" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Buka Semua..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Lancarkan" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Buka dengan {foo}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Open" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Ekstrak Sini" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Ekstrak Ke..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Buka Dengan..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Buka Semua Dengan Aplikasi Lain..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Lancar Peluncuran menggunakan Kartu Grafik Terpadu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Jenis Ini Bertindan" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Jenis Ini Unstack" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Lari sebagai Program" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Skrip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Cut" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Pergi ke..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Salin ke..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Namakanlah.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Buat Pautan..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Folder Mampat {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Berkas mampatan analog {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Email ke..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Kirim ke Perangkat Bergerak" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Pindah ke Sampah" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Hapus secara permanen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Jangan Izinkan Peluncuran" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Sampah penuh" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Yej" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Tidak dilekap" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Ciri-ciri Umum" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Ciri-ciri %s" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Kemunculan di {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Buka dalam {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Item Terbuka" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Pengekstrakan Pengekstrakan Dibatalkan" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Tidak dapat mengekstrak Tidak ada folder tujuan" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Destinasi Pemilihan Baru" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "♪ Pilih ♪" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Tidak dapat mengemail Direktori" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "" +"Pemilihan folder termasuk direktori, compress ke file .zip terlebih dahulu?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Kesalahan Mail Evolution" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Tak dapat mencari zip command, silakan pasang program" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Ada kesalahan saat membuat arsip zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Tak dapat mencari xdg-email, silakan pasang program" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Ada kesalahan dalam email file" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Tidak dapat membuka Direktori Kerja" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Tak Dapat Dibuka di Konsol Gnome" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Silakan Pasang Konsol Gnome atau Program Terminal lainnya" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Tak Dapat Dibuka {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Silakan Pasang {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Salinan Dibatalkan" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Tak dapat menyalin Fail, tak ada folder destinasi" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Batal" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Tak dapat memindahkan Berkas, tak ada folder tujuan" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "A$appName$ tidak dapat membuka berkas jenis ini!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Konsol" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Jalan pintas:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Jenis baru..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Tombol Pengubahsuai + Tombol (misalnya Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Ulangtetap ke Default" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Tidak ada akselerator" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Jalan Pintas Sistem" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Jalan Pintas Papan Kekunci yang Ditakrifkan Sistem Biasa" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Jalan Pintas Lokal" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Pintasan Papan Kekunci Aplikasi GNOME" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Jalan Pintas Global" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Pintasan Papan Kekunci Sistem Papan Kekunci" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Pintasan Papan Kekunci" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Jalan Pintas" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Ulangtetapkan semua pintasan ke Default" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Reset Semua..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Tampilkan Desktop dalam Berkas" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Buka di Terminal" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Ubah Latar Belakang" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Ubah Seting Paparan Fedoron" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "[ Gambar di hlm" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Ikon Pembersihan" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Terus Dicekik" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Tetap Ditindak" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Urutkan Folder Khusus" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Atur Ikon menurut Nama" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Atur Ikon dengan Menurun Nama" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Atur Ikon Berdasarkan Waktu yang Diubahsuai" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Arrange Ikon (Dengan jenis) jenis (yang serupa)" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Atur Ikon Berdasarkan Ukuran" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Cari Fail" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Desktop Update" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Tak Ada Berkas Tersembunyi" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Tak pilih Semua" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Pratonton" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Tambah Widget" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Pilih Ikon Kiri" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Pilih Ikon Kanan" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Pilihlah Ikon Atas" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Pilih ikon di bawah" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Menu Pertunjukan" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Melukis Menu Latar Belakang Shell" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Name" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Akselel Pemasukan Teksis Dinyalakan" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Akselel Masukan Teks Equisk Off" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Jalan Pintas Pemirsa" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Tampilkan atau Sembunyikan Ikon Desktop" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Informasi Lebih Banyak" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Rumah" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Sampah" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Stack" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Link Broken Link" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Tidak dapat membuka Berkas ini karena ia adalah Symlink Broken" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Drive" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Keutamaan Anjuta" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Pengguna" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Benarkan" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Pembangunan" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Asal" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "\"Command\"\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Keutamaan Anjuta" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" tidak tersedia" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Pasang \"${programName}\" untuk mengaktifkan Ikon Desktop untuk melakukan " +"tindakan ini." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Pilih Folder Desktop" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Perintah tidak ditemukan" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Pilih aplikasi untuk membuka berkas yang dipilih." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Sentiasa gunakan untuk jenis berkas ini" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "Perancis" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Buka" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Ikon ikon pada desktop GNOME" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "desktop;icons;files;folder;manager;arrange;hide;show;launcher;shortcuts;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Show<>Sembunyikan" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Keutamaan Anjuta" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Matikan" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Ukuran Ikon" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "** Tetapkan ukuran ikon desktop." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Luncurkan folder pribadi" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Untuk menampilkan folder pribadi di desktop." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Sampah sampah sampah" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Ada ikon sampah di desktop." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Ikon baru mulai sudut" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Arahkan sudut dari mana ikon akan mulai ditempatkan." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Papar pemacu eksternal dalam desktop" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Tampilkan disk drive yang terhubung ke komputer." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Papar pemacu jaringan di desktop" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Menampilkan volume jaringan terlekap di desktop." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Tambahkan drive baru ke sisi berlawanan layar" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Fuided Ketika menambahkan drive dan volume ke desktop, tambahkannya ke sisi " +"berlawanan layar." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Penghiasan menunjukkan segi empat di tempat tujuan selama DnD" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Ketika melakukan operasi Drag'n'Drop, menandai tempat di grid di mana ikon " +"akan diletakkan dengan persegi panjang semitransparent." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Urutkan Folder Khusus - Home/Trash Drives." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Ketika mengeset Ikon pada desktop, untuk mengurutkan dan mengubah posisi " +"Home, Trash dan lekap Network atau External Drives" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Membuat Ikon Disusun" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Selalu menjaga Ikon Disusun berdasarkan urutan terakhir" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Orde Arrange" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Ikon Ikon Disusun oleh properti ini" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Biar Ikon Tetap Ditumpuk" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Selalu jaga Ikon Stacked, Jenis Mirip dikelompokkan" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Jenis Berkas untuk tidak Stack" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Sebuah Array dari jenis string, Jangan Stack jenis file ini" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Diumpukkan ke %s" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "** Tambahkan lambang untuk memungkinkan identifikasi tautan lunak." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Use black for label text" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Melukis teks label dengan warna hitam dan bukan warna putih. Berguna ketika " +"menggunakan latar belakang cahaya." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Ogolia menampilkan ikon baru pada monitor bukan primer jika tersambung" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Jika monitor kedua tersambung, ikon baru ditempatkan pada monitor bukan " +"primer" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ikon dapat diposisikan di mana saja di Desktop" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ikon tidak berada pada grid segi empat, tetapi dapat ditempatkan di mana " +"saja independen grid" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +#, fuzzy +msgid "Show Desktop Widgets" +msgstr "Tampilkan Desktop dalam Berkas" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Sembunyi/Papar semua jendela desktop" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Tampilkan ikon pada desktop, atau sembunyikan semuanya" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Jalan Pintas Aplikasi Pengguna" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" +"Diskrondir untuk pintasan aplikasi default yang ditetapkan oleh Pengguna" diff --git a/ding/po/nb.po b/ding/po/nb.po new file mode 100644 index 0000000..d5004f0 --- /dev/null +++ b/ding/po/nb.po @@ -0,0 +1,2075 @@ +# Norwegian Bokmal translations for gtk4-ding package. +# Copyright (C) 2025 THE gtk4-ding'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Automatically generated, 2025. +# +# Jon Magne Bøe , 2025, 2026. +# Weblate , 2025, 2026. +# Weblate Translation Memory , 2025, 2026. +# Allan Nordhøy , 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:10+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Overstyring" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Snarveier" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Rediger snarveier..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Rediger programsnarveier" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Snarveier Redigerbar kun når utvidelsen er aktivert..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Hjelp å oversette i nettleseren din" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Skrivebord" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Filer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Tweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Mer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Skrivebordsinnstillinger" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Innstillinger for skrivebordsprogrammet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Skrivebordsmappe" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Nåværende skrivebord:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Filinnstillinger" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Innstillinger delt med Gnome-filer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Diverse Tweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Størrelse på skrivebordsikonene" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Bitte små" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Små" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Standard" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Stor" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Justering av nye ikoner" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Oppe til venstre hjørne" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Oppe høyre hjørne" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Nederst venstre hjørne" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Nederste høyre hjørne" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" +"Legg til nye ikoner i sekundære skjermer først, hvis det er tilgjengelig" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Snap ikoner til rutenett" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Skrivebordmoduler" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Ny skrivebordsmappe" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Sett en ny mappe for skrivebordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Velg" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Sett skrivebordet tilbake til ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Gjenopprett standard skrivebordsmappe" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Gjenopprett" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Marker nedtrekksnettet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Legg til informasjonsmerker for lenker, kryptering" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Bruk mørk tekst i ikonetiketter" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Vis den personlige mappen på skrivebordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Vis papirkurvikonet på skrivebordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Vis eksterne enheter på skrivebordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Vis nettverksstasjoner på skrivebordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Legg nye enheter til motsatt side av skrivebordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Handling for å åpne elementer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Enkeltklikk" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Dobbeltklikk" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Vis miniatyrbildebilder" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Alltid" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Bare på denne datamaskinen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Aldri" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Vis en oppføring i kontekstmenyen for å slette for godt" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Vis skjulte filer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Åpne mapper når du drar sveve" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Om..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Oversettelse" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Maskin oversatt med LibreTranslate. Bruker verifisert og redigert på Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Rediger oversettelser" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Kontroller, legg til eller riktig oversettelse i nettleseren din" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Oversett" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Velg et program for å åpne {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Åpne elementer" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Åpne mappe" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Åpne fil" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Feil ved endring av standardprogram" + +# MT: LibreTranslate +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "Feil under innstilling {foo} som standardapplikasjon for {mimetype}]" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Ugyldige tillatelser på AppImage-fil" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Denne AppImage-filen har feil tillatelser." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Høyreklikk for å redigere egenskaper, og deretter:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Angi tillatelser, i" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Andre tilgang" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Les kun" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "eller" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Ingen" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Slå på alternativ" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Tillat å utføre filen som et program" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Utrusted AppImage fil" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Denne appen Bildefilen er ikke pålitelig, den kan ikke lanseres." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "For å aktivere oppstart, høyreklikk deretter:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "aktiver" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Tillat oppstart" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Mappenavn" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Filnavn" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "OK" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Endre navn" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Auto Ar er ikke installert" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"For å kunne jobbe med komprimerte filer, installer filroller og/eller gi 1,2-" +"gnome AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Pakke ut filer" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Komprimere filer" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Avbryt" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Skriv inn et passord her" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Fjerner partiell fil '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Oppretter målmappe" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Uttrekke filer til '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Utvinning fullført" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Utvinning '${fullPathFile}' er fullført." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Utvinning kansellert" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Utvinning '${fullPathFile}' er blitt kansellert av brukeren." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Password kreves for ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Feil under utvinning" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Komprimere filer til '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Kompresjon fullført" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Kompressing av filer til '${outputFile}' er fullført." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Avlyst kompresjon" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" +"Kompresjon av filer til '${outputFile}' har blitt kansellert av brukeren." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Feil under kompresjon" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Lag arkiv" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Arkivnavn" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Passord" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Lag" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Kompatibel med alle operativsystemer." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Passord beskyttet .zip, må installeres på Windows og Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Mindre arkiver, men bare Linux og Mac." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Mindre arkiver, men må installeres på Windows og Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Det viste skrivebordet er skrivelig av andre" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop-filer kan ikke lanseres fra dette skrivebordet som skrivebordsmappen " +"er skrivbar for andre brukere.\n" +"\n" +"Vennligst sjekk tillatelsene til denne skrivebordsmappen, og sørg for at den " +"ikke er skrivbar for andre." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Broken skrivebordsfil" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Denne .desktop-filen har feil eller peker på et program uten tillatelser. " +"Det kan ikke henrettes.\n" +"\n" +"Rediger filen for å angi riktig kjørbare program." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Ugyldige tillatelser på skrivebordsfil" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Denne skrivebordsfilen har feil tillatelser." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Utrustad skrivebordsfil" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Denne skrivebordsfilen er ikke pålitelig, den kan ikke startes." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Kunne ikke åpne Fil" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} kan ikke åpne filer av denne typen!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Skrivebordsmappe Endring mislyktes" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Den nye skrivebordsmappen er en symbolisk lenke" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Den nye skrivebordsmappen eksisterer ikke eller er ikke en mappe!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Skrivebordsmappe endret" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Bytter til nytt skrivebord..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Skrivebordsikon" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Oppdater skrivebordet" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Legg til miniprogram" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Overvåk rammebuffer Skalering er ikke aktivert" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Flere skjermer med ulike zoominnstillinger, anbefaler per skjerm rammebuffer " +"skalering.\n" +"\n" +"Vennligst slå på Mutter Dconf-innstillinger" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Flere skjermer med ulike zoominnstillinger.\n" +"\n" +"Aktivere per skjerm rammebuffer skalering i Mutter Dconf innstillinger?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Slå på" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Kan ikke vise skrivebordet" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Skrivebordsmappen {desktop} er en symbolisk lenke\n" +"\n" +"Vennligst sett skrivebordsmappen til en ekte mappe" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Skrivebordsmappen {desktop} eksisterer ikke, eller er ikke en katalog\n" +"\n" +"Kontroller installasjonen av xdg-utils og angi riktig skrivebordsmappe" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME Filer ikke funnet" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "GNOME Filprogram kreves av Gtk4 Desktop Icons NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Det er ingen standard filhåndtering" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Det er ikke noe program som håndterer mimetype \"inod/directory\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome Filer er ikke registrert som filbehandler" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Programmet Gnome Files er ikke programmert til å åpne mapper!\n" +"Sjekk din xdg-utils installasjon\n" +"Sjekk Gnome Filer .desktop Filinstallasjon" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Fjern gjeldende utvalg før nytt søk" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Finn filer på skrivebordet" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Ny mappe" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Oppretting av mappe mislyktes" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Kunne ikke opprette mappe" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Kunne ikke åpne skrivebord i Gnome-filer" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Innstillinger Vinduet er åpent" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Vinduet er åpent. Bytt til det aktive vinduet." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Innstillinger" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Malskapelsesfeil" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Kunne ikke opprette dokument" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Navn" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Navn Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Endret tid" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Type" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Størrelse" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Oppdaterer listen.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Hold Stacked av Type.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Sorter Home/Drives/Trash.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Endre skrivebord" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Gjenopprett standard skrivebord" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Innstillinger for skrivebordsikon" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Vis snarveier" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Nytt dokument" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Lim inn" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Angre" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Gjenopprett" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Velg alle" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Arranger ikoner" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Bestill.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Vis Desktop i {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Åpen i {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Rediger skjermelementer" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Skal-menyen.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Gjøring av SymLink mislyktes" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Kunne ikke opprette symbolsk lenke" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Kopiering/bevegelse mislyktes" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} eksisterer ikke" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Velg handling for filer" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Flytt" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Kopier" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Link" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Mappe" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Fil" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Feil ved åpning av fil" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Det er ingen applikasjon installert for å åpne \"{fo}\" filer." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Ny mappe med {0} element" +msgstr[1] "Ny mappe med {0} element" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Åpne alle..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Lanser" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Åpne med {foo}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Åpne" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Pakk ut her" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Pakk ut til..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Åpne med..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Åpne alt med andre programmer..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Start ved hjelp av Integrert Graphics Card" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Stack denne typen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Unstack Denne typen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Kjør som et program" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Scripts" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Kutt" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Flytt til..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Kopier til..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Endre navn.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Opprett lenke..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Kompress {0} mappe" +msgstr[1] "Kompress {0} mappe" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Kompress {0} fil" +msgstr[1] "Kompress {0} fil" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "E-post til..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Send til mobil enhet" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Flytt til papirkorga" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Slett permanent" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Ikke la lansering" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Tøm papirkorga" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Løys ut" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Avmonter" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Vanlige egenskaper" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Egenskaper" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "{0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Vis i {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Åpne i {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Åpne element" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Utvinning kansellert" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Kan ikke trekke ut Fil, ingen målmappe" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Velg destinasjon" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Velg" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Kan ikke e-poste en katalog" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Velg inkluderer en Directory, komprimer til en .zip-fil først?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "E- postfeil" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Klarte ikke å finne zip-kommando, installer programmet" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Arkiv.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Det oppstod en feil i å opprette et zip-arkiv" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Kan ikke finne xdg-e-post, installer programmet" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Det oppstod en feil i e-postfiler" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Kan ikke åpne arbeidskatalogen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Kan ikke åpne i Gnome-konsollen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Installer Gnome Console eller annet terminalprogram" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Kan ikke åpne {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Vennligst installer {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Kopier Avlyst" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Kan ikke kopiere filer, ingen målmappe" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Flytt avlyst" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Kan ikke flytte filer, ingen målmappe" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ kan ikke åpne filer av denne typen!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Konsoll" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Standardsnarvei:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Skriv inn ny..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Endring + Nøkkel (f.eks. Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Nullstill til standard" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Ingen akselerator" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Systemsnarveier" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Felles system definerte tastatursnarveier" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Lokale snarveier" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Program tastatursnarveier" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Globale snarveier" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "System tastatursnarveier" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Tastatursnarveier" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Tilbakestill snarveier" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Tilbakestill alle snarveier til standard" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Tilbakestill alle..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Vis skrivebord i filer" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Åpne i terminalen" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Endre bakgrunn" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Endre skjerminnstillinger" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Endre innstillinger for skrivebordsikon" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Opprydning av ikoner" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Hold arrangert" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Hold Stacked" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Sorter spesielle mapper" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Arranger ikoner etter navn" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Arranger ikoner etter synkront navn" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Arrangere ikoner ved endret tid" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Arranger ikoner Etter slag" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Arranger ikoner etter størrelse" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Finn filer" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Oppdater skrivebordet" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Vis skjulte filer" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Avvelg alle" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Forhåndsvisning" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Legg til miniprogram" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Velg ikon venstre" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Velg ikon til høyre" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Velg ikon opp" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Velg ikon ned" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Vis meny" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Vis skal-bakgrunnsmeny" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Opprett skrivebordssnarvei" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Tekstoppføring akselererer slå på" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Tekstoppføring Akselerer slå av" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Vis snarvei Seer" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Vis eller skjul skrivebordsikon" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Mer informasjon" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Hjem" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Papirkurv" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Stack" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Broken lenke" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Kan ikke åpne filen fordi den er en Broken Symlink" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Drive" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Innstillinger" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Bruker" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Tillat" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Streng" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Avslappet" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Utvikling" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Standard" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Kommando:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Innstillinger" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" er ikke tilgjengelig" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Installer \"${programName}\" for å gjøre det mulig å utføre disse " +"handlingene." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Velg skrivebordsmappe" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Kommandoen ble ikke funnet" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Velg en app for å åpne de valgte filene." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Bruk alltid denne filtypen" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Avbryt" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Åpne" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Vis ikoner på GNOME-skrivebordet" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "desktop;icons;files;folders;manager;arrange;hide;show;lancer;shortcuts;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Vis<> Skjul" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Innstillinger" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Slå av" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Ikonstørrelse" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Angi størrelsen på skrivebordsikonene." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Vis personlig mappe" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Vis den personlige mappen på skrivebordet." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Vis papirkurvikon" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Vis papirkurvikonet på skrivebordet." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Nye ikoner starter hjørnet" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Sett hjørnet fra hvor ikonene vil begynne å bli plassert." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Vis eksterne enheter på skrivebordet" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Vis diskstasjonene som er koblet til datamaskinen." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Vis nettverksstasjoner på skrivebordet" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Vis monterte nettverksvolum på skrivebordet." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Legg nye enheter til den motsatte siden av skjermen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Når du legger til enheter og volum på skrivebordet, legger du dem til den " +"motsatte siden av skjermen." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Viser et rektangel på destinasjonsstedet under DnD" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Når du gjør en Drag'n'Drop-operasjon, markerer du stedet i rutenettet der " +"ikonet vil bli satt med et semitransparent rektangel." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Sorter spesielle mapper - Hjem / Trash Drives." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Når du arrangerer ikoner på skrivebordet, skal du sortere og endre " +"posisjonen til hjemme-, søppel- og monterte nettverks- eller eksterne enheter" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Hold ikoner ordnet" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Behold alltid ikoner Arrangert av den siste arrangerte ordren" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Ordre" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Arrangert av denne eiendommen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Hold ikoner stacked" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Alltid holde ikoner stablert, lignende typer er gruppert" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Typer filer å ikke Stack" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "En array av strenge typer, ikke Stack disse filtypene" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Legg til et merke i lenker" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Legg til et emblem som gjør det mulig å identifisere myke lenker." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Bruk svart for etiketttekst" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Mal etiketten i svart i stedet for hvitt. Nyttig når du bruker lys " +"bakgrunner." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Vis nye ikoner på ikke primærskjerm hvis tilkoblet" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Hvis en andre skjerm er koblet til, plasseres nye ikoner på den ikke primære " +"skjermen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ikoner kan plasseres hvor som helst på skrivebordet" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ikoner er ikke på et rektangulært rutenett, men kan plasseres hvor som helst " +"uavhengig av nettet" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Skrivebordmoduler" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Skjul/Vis alle skrivebordsvinduer" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Vis ikonene på skrivebordet eller skjul dem alle" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Brukerprogramsnarveier" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Overstyr for standardprogramsnarveier satt av brukeren" diff --git a/ding/po/nb_NO.po b/ding/po/nb_NO.po new file mode 100644 index 0000000..de2121f --- /dev/null +++ b/ding/po/nb_NO.po @@ -0,0 +1,1757 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Allan Nordhøy , 2022, 2023, 2024. +# Weblate Translation Memory , 2023, 2024, 2025. +# Weblate , 2023, 2024, 2025. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-10-18 12:07-0400\n" +"PO-Revision-Date: 2025-10-02 20:02+0000\n" +"Last-Translator: Weblate Translation Memory \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb_NO\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: Weblate 5.14-dev; LibreTranslate (auto-fill)\n" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:160 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Snarveier" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:163 +msgid "Edit Shortcuts..." +msgstr "Rediger snarveier..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:178 +msgid "Edit Application Shortcuts" +msgstr "Rediger programsnarveier" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:183 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Snarveier Redigerbar kun når utvidelsen er aktivert..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:288 +msgid "Help translate in your web browser" +msgstr "Hjelp å oversette i nettleseren din" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:484 app/adwPreferencesWindow.js:485 +msgid "Desktop" +msgstr "Skrivebord" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:490 app/adwPreferencesWindow.js:491 +msgid "Files" +msgstr "Filer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:496 app/adwPreferencesWindow.js:497 +#: app/adwPreferencesWindow.js:539 +msgid "Tweaks" +msgstr "Tweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:502 app/adwPreferencesWindow.js:503 +msgid "More" +msgstr "Mer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:514 +msgid "Desktop Settings" +msgstr "Skrivebordsinnstillinger" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:515 +msgid "Settings for the Desktop Program" +msgstr "Innstillinger for skrivebordsprogrammet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:521 +msgid "Desktop Folder" +msgstr "Skrivebordsmappe" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:522 +msgid "Current Desktop: " +msgstr "Nåværende skrivebord:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:532 +msgid "Files Settings" +msgstr "Filinnstillinger" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:533 +msgid "Settings shared with Gnome Files" +msgstr "Innstillinger delt med Gnome-filer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:540 +msgid "Miscellaneous Tweaks" +msgstr "Diverse Tweaks" + +#: app/adwPreferencesWindow.js:558 +msgid "Size for the desktop icons" +msgstr "Størrelse på skrivebordsikoner" + +#: app/adwPreferencesWindow.js:560 +msgid "Tiny" +msgstr "Knøtt" + +#: app/adwPreferencesWindow.js:561 +msgid "Small" +msgstr "Små" + +#: app/adwPreferencesWindow.js:562 +msgid "Standard" +msgstr "Vanlig" + +#: app/adwPreferencesWindow.js:563 +msgid "Large" +msgstr "Store" + +#: app/adwPreferencesWindow.js:569 +msgid "New icons alignment" +msgstr "Plassering av nye ikoner" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:571 +msgid "Top left corner" +msgstr "Oppe til venstre hjørne" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:572 +msgid "Top right corner" +msgstr "Oppe høyre hjørne" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:573 +msgid "Bottom left corner" +msgstr "Nederst venstre hjørne" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:574 +msgid "Bottom right corner" +msgstr "Nederste høyre hjørne" + +#: app/adwPreferencesWindow.js:580 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Legg til nye ikoner på sekundærskjermer først, hvis tilgjengelig" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:584 +msgid "Snap icons to grid" +msgstr "Snap ikoner til rutenett" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:590 +msgid "Highlight the drop grid" +msgstr "Marker nedtrekksnettet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:599 +msgid "New Desktop Folder" +msgstr "Ny skrivebordsmappe" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:600 +msgid "Set a new folder for the desktop" +msgstr "Sett en ny mappe for skrivebordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Velg" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:606 +msgid "Set Desktop back to ~/" +msgstr "Sett skrivebordet tilbake til ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:608 +msgid "Restore Default Desktop Folder" +msgstr "Gjenopprett standard skrivebordsmappe" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:610 +msgid "Restore" +msgstr "Gjenopprett" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:620 +msgid "Add information emblems for links, encryption" +msgstr "Legg til informasjonsmerker for lenker, kryptering" + +#: app/adwPreferencesWindow.js:624 +msgid "Use dark text in icon labels" +msgstr "Bruk mørk tekst i ikonetiketter" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:629 +msgid "Show the personal folder on the desktop" +msgstr "Vis den personlige mappen på skrivebordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:634 +msgid "Show the trash icon on the desktop" +msgstr "Vis papirkurvikonet på skrivebordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:639 +msgid "Show external drives on the desktop" +msgstr "Vis eksterne enheter på skrivebordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Show network drives on the desktop" +msgstr "Vis nettverksstasjoner på skrivebordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:649 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Legg nye enheter til motsatt side av skrivebordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:654 +msgid "Action to Open Items" +msgstr "Handling for å åpne elementer" + +#: app/adwPreferencesWindow.js:656 +msgid "Single click" +msgstr "Enkeltklikk" + +#: app/adwPreferencesWindow.js:657 +msgid "Double click" +msgstr "Dobbeltklikk" + +#: app/adwPreferencesWindow.js:662 +msgid "Show image thumbnails" +msgstr "Vis bilde-miniatyrbilder" + +#: app/adwPreferencesWindow.js:664 +msgid "Always" +msgstr "Alltid" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:665 +msgid "On this computer only" +msgstr "Bare på denne datamaskinen" + +#: app/adwPreferencesWindow.js:666 +msgid "Never" +msgstr "Aldri" + +#: app/adwPreferencesWindow.js:671 +msgid "Show a context menu item to delete permanently" +msgstr "Vis en bindeleddsmeny-element for å slette for godt" + +#: app/adwPreferencesWindow.js:676 +msgid "Show hidden files" +msgstr "Vis skjulte filer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:681 +msgid "Open folders on drag hover" +msgstr "Åpne mapper når du drar sveve" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:685 +msgid "About..." +msgstr "Om..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:698 +msgid "Translation" +msgstr "Oversettelse" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:699 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Maskin oversatt med LibreTranslate. Bruker verifisert og redigert på Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:704 +msgid "Edit Translations" +msgstr "Rediger oversettelser" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:705 +msgid "Verify, add or correct translation in your web browser" +msgstr "Kontroller, legg til eller riktig oversettelse i nettleseren din" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:706 +msgid "Translate" +msgstr "Oversett" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Velg et program for å åpne {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Åpne elementer" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Åpne mappe" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Åpne fil" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Feil ved endring av standardprogram" + +# MT: LibreTranslate +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "Feil under innstilling {foo} som standardapplikasjon for {mimetype}]" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Ugyldige tillatelser på AppImage-fil" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Denne AppImage-filen har feil tillatelser." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Høyreklikk for å redigere egenskaper, og deretter:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Angi tillatelser, i" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Andre tilgang" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Les kun" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "eller" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:46 app/shortcutManager.js:86 +#: app/shortcutManager.js:522 +msgid "None" +msgstr "Ingen" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Slå på alternativ" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Tillat å utføre filen som et program" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Utrusted AppImage fil" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Denne appen Bildefilen er ikke pålitelig, den kan ikke lanseres." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "For å aktivere oppstart, høyreklikk deretter:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "aktiver" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Tillat kjøring som program" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Mappenavn" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Filnavn" + +#: app/askRenamePopup.js:75 app/autoAr.js:299 app/desktopManager.js:1234 +#: app/fileItemMenu.js:967 +msgid "OK" +msgstr "OK" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Gi nytt navn" + +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "AutoAr er ikke installert" + +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Installer file-roller, og/eller gir-1.2-gnomeAutoAr for å kunne jobbe med " +"sammenpakkede filer" + +#: app/autoAr.js:203 +msgid "Extracting files" +msgstr "Pakker ut filer" + +#: app/autoAr.js:220 +msgid "Compressing files" +msgstr "Pakker sammen filer" + +#: app/autoAr.js:291 app/autoAr.js:620 app/desktopManager.js:171 +#: app/desktopManager.js:1236 app/dragManager.js:783 app/fileItemMenu.js:914 +#: app/fileItemMenu.js:967 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +msgid "Cancel" +msgstr "Avbryt" + +#: app/autoAr.js:311 app/autoAr.js:608 +msgid "Enter a password here" +msgstr "Skriv inn et passord her" + +# MT: LibreTranslate +#: app/autoAr.js:354 +msgid "Removing partial file '${outputFile}'" +msgstr "Fjerner delvis fil '${outputFile}'" + +#: app/autoAr.js:373 +msgid "Creating destination folder" +msgstr "Oppretter målmappe" + +# MT: LibreTranslate +#: app/autoAr.js:405 +msgid "Extracting files into '${outputPath}'" +msgstr "Uttrekke filer til '${outputPath}'" + +#: app/autoAr.js:435 +msgid "Extraction completed" +msgstr "Utpakket" + +#: app/autoAr.js:436 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Filer utpakket til «${fullPathFile}»." + +#: app/autoAr.js:442 +msgid "Extraction cancelled" +msgstr "Utpakking avbrutt" + +#: app/autoAr.js:443 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Utpakking av filer til «${fullPathFile}» avbrutt av brukeren." + +#: app/autoAr.js:453 +msgid "Passphrase required for ${filename}" +msgstr "Passord kreves for ${filename}" + +#: app/autoAr.js:456 +msgid "Error during extraction" +msgstr "Feil under utpakking" + +#: app/autoAr.js:483 +msgid "Compressing files into '${outputFile}'" +msgstr "Pakker sammen filer til «${outputFile}»" + +#: app/autoAr.js:496 +msgid "Compression completed" +msgstr "Sammenpakking fullført" + +# MT: LibreTranslate +#: app/autoAr.js:497 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Kompressing av filer til '${outputFile}' er fullført." + +#: app/autoAr.js:501 app/autoAr.js:508 +msgid "Cancelled compression" +msgstr "Avbrutt sammenpakking" + +#: app/autoAr.js:502 +msgid "The output file '${outputFile}' already exists." +msgstr "Utdatafilen «${outputFile}» finnes allerede." + +#: app/autoAr.js:509 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "Sammenpakking av filer til «${outputFile}» avbrutt av brukeren." + +#: app/autoAr.js:512 +msgid "Error during compression" +msgstr "Feil under sammenpakking" + +#: app/autoAr.js:547 +msgid "Create archive" +msgstr "Opprett arkiv" + +#: app/autoAr.js:571 +msgid "Archive name" +msgstr "Arkivnavn" + +#: app/autoAr.js:604 +msgid "Password" +msgstr "Passord" + +#: app/autoAr.js:617 +msgid "Create" +msgstr "Opprett" + +#: app/autoAr.js:688 +msgid "Compatible with all operating systems." +msgstr "Kompatibelt med alle operativsystemer." + +#: app/autoAr.js:694 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Passordbeskyttet .zip må installeres på Windows og macOS." + +# MT: LibreTranslate +#: app/autoAr.js:700 +msgid "Smaller archives but Linux and Mac only." +msgstr "Mindre arkiver, men bare Linux og Mac." + +# MT: LibreTranslate +#: app/autoAr.js:706 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Mindre arkiver, men må installeres på Windows og Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Det viste skrivebordet er skrivelig av andre" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop-filer kan ikke lanseres fra dette skrivebordet som skrivebordsmappen " +"er skrivbar for andre brukere.\n" +"\n" +"Vennligst sjekk tillatelsene til denne skrivebordsmappen, og sørg for at den " +"ikke er skrivbar for andre." + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Ødelagt skrivebordsfil" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Denne .desktop-filen har feil eller peker på et program uten tillatelser. " +"Det kan ikke henrettes.\n" +"\n" +"Rediger filen for å angi riktig kjørbare program." + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Ugyldige tilganger for skrivebordsfil" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Denne skrivebordsfilen har feil tillatelser." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Utrustad skrivebordsfil" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Denne skrivebordsfilen er ikke pålitelig, den kan ikke startes." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Kunne ikke åpne Fil" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} kan ikke åpne filer av denne typen!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Skrivebordsmappe Endring mislyktes" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Den nye skrivebordsmappen er en symbolisk lenke" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Den nye skrivebordsmappen eksisterer ikke eller er ikke en mappe!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Skrivebordsmappe endret" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Bytter til nytt skrivebord..." + +# MT: LibreTranslate +#: app/desktopGrid.js:56 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Skrivebordsikon" + +# MT: LibreTranslate +#: app/desktopManager.js:157 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Overvåk rammebuffer Skalering er ikke aktivert" + +# MT: LibreTranslate +#: app/desktopManager.js:158 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Flere skjermer med ulike zoominnstillinger, anbefaler per skjerm rammebuffer " +"skalering.\n" +"\n" +"Vennligst slå på Mutter Dconf-innstillinger" + +# MT: LibreTranslate +#: app/desktopManager.js:169 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Flere skjermer med ulike zoominnstillinger.\n" +"\n" +"Aktivere per skjerm rammebuffer skalering i Mutter Dconf innstillinger?" + +# MT: LibreTranslate +#: app/desktopManager.js:172 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Slå på" + +# MT: LibreTranslate +#: app/desktopManager.js:196 app/desktopManager.js:206 +msgid "Can Not Show the Desktop" +msgstr "Kan ikke vise skrivebordet" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:198 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Skrivebordsmappen {desktop} er en symbolisk lenke\n" +"\n" +"Vennligst sett skrivebordsmappen til en ekte mappe" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Skrivebordsmappen {desktop} eksisterer ikke, eller er ikke en katalog\n" +"\n" +"Kontroller installasjonen av xdg-utils og angi riktig skrivebordsmappe" + +# MT: LibreTranslate +#: app/desktopManager.js:219 +msgid "GNOME Files not found" +msgstr "GNOME Filer ikke funnet" + +# MT: LibreTranslate +#: app/desktopManager.js:220 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "GNOME Filprogram kreves av Gtk4 Desktop Icons NG." + +# MT: LibreTranslate +#: app/desktopManager.js:227 +msgid "There is no default File Manager" +msgstr "Det er ingen standard filhåndtering" + +# MT: LibreTranslate +#: app/desktopManager.js:228 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Det er ikke noe program som håndterer mimetype \"inod/directory\"" + +# MT: LibreTranslate +#: app/desktopManager.js:235 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome Filer er ikke registrert som filbehandler" + +# MT: LibreTranslate +#: app/desktopManager.js:236 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Programmet Gnome Files er ikke programmert til å åpne mapper!\n" +"Sjekk din xdg-utils installasjon\n" +"Sjekk Gnome Filer .desktop Filinstallasjon" + +# MT: LibreTranslate +#: app/desktopManager.js:328 +msgid "Clear current selection before new search" +msgstr "Fjern gjeldende utvalg før nytt søk" + +#: app/desktopManager.js:1238 +msgid "Find Files on Desktop" +msgstr "Finn filer på skrivebordet" + +#: app/desktopManager.js:1579 app/desktopMenu.js:958 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Ny mappe" + +# MT: LibreTranslate +#: app/desktopManager.js:1613 +msgid "Folder Creation Failed" +msgstr "Oppretting av mappe mislyktes" + +# MT: LibreTranslate +#: app/desktopManager.js:1614 +msgid "Could not create folder" +msgstr "Kunne ikke opprette mappe" + +# MT: LibreTranslate +#: app/desktopMenu.js:601 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Kunne ikke åpne skrivebord i Gnome-filer" + +#: app/desktopMenu.js:620 +msgid "Preferences Window is Open" +msgstr "Innstillingsvinduet er åpent" + +#: app/desktopMenu.js:621 +msgid "This Window is open. Please switch to the active window." +msgstr "Dette vinduet er åpent. Bytt til det aktive vinduet." + +#: app/desktopMenu.js:630 app/desktopMenu.js:1011 +msgid "Settings" +msgstr "Innstillinger" + +# MT: LibreTranslate +#: app/desktopMenu.js:813 +msgid "Template Creation Error" +msgstr "Malskapelsesfeil" + +# MT: LibreTranslate +#: app/desktopMenu.js:814 +msgid "Could not create document" +msgstr "Kunne ikke opprette dokument" + +#: app/desktopMenu.js:919 +msgid "Name" +msgstr "Navn" + +#: app/desktopMenu.js:921 +msgid "Name Z-A" +msgstr "Navn Å-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:923 +msgid "Modified Time" +msgstr "Endret tid" + +#: app/desktopMenu.js:925 +msgid "Type" +msgstr "Type" + +#: app/desktopMenu.js:927 +msgid "Size" +msgstr "Størrelse" + +#: app/desktopMenu.js:932 +msgid "Keep Arranged…" +msgstr "Behold sortert …" + +#: app/desktopMenu.js:937 +msgid "Keep Stacked by Type…" +msgstr "Behold sortert etter type …" + +#: app/desktopMenu.js:939 +msgid "Sort Home/Drives/Trash…" +msgstr "Sorter hjemmemappe/lagringsenheter/papirkurv …" + +# MT: LibreTranslate +#: app/desktopMenu.js:944 +msgid "Change Desktop" +msgstr "Endre skrivebord" + +# MT: LibreTranslate +#: app/desktopMenu.js:949 +msgid "Restore Default Desktop" +msgstr "Gjenopprett standard skrivebord" + +#: app/desktopMenu.js:953 +msgid "Desktop Icon Settings" +msgstr "Innstillinger for skrivebordsikon" + +# MT: LibreTranslate +#: app/desktopMenu.js:955 +msgid "Show Shortcuts" +msgstr "Vis snarveier" + +#: app/desktopMenu.js:963 app/shortcuts.js:43 +msgid "New Document" +msgstr "Nytt dokument" + +#: app/desktopMenu.js:968 app/shortcuts.js:11 +msgid "Paste" +msgstr "Lim inn" + +#: app/desktopMenu.js:970 app/shortcuts.js:12 +msgid "Undo" +msgstr "Angre" + +#: app/desktopMenu.js:972 app/shortcuts.js:13 +msgid "Redo" +msgstr "Gjenta" + +#: app/desktopMenu.js:978 app/shortcuts.js:14 +msgid "Select All" +msgstr "Velg alle" + +#: app/desktopMenu.js:985 +msgid "Arrange Icons" +msgstr "Sorter ikoner" + +# MT: LibreTranslate +#: app/desktopMenu.js:989 +msgid "Arrange By…" +msgstr "Bestill.." + +# MT: LibreTranslate +#: app/desktopMenu.js:997 +msgid "Show Desktop In {0}" +msgstr "Vis Desktop i {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1002 +msgid "Open In {0}" +msgstr "Åpen i {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1018 +msgid "Shell Menu…" +msgstr "Skal-menyen.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:926 +msgid "Making SymLink Failed" +msgstr "Gjøring av SymLink mislyktes" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:927 +msgid "Could not create symbolic link" +msgstr "Kunne ikke opprette symbolsk lenke" + +# MT: LibreTranslate +#: app/dragManager.js:739 +msgid "Copy/Move Failed" +msgstr "Kopiering/bevegelse mislyktes" + +# MT: LibreTranslate +#: app/dragManager.js:740 +msgid "{0} Does not exist" +msgstr "{0} eksisterer ikke" + +#: app/dragManager.js:782 +msgid "Choose Action for Files" +msgstr "Velg handling for filer" + +#: app/dragManager.js:783 +msgid "Move" +msgstr "Flytt" + +#: app/dragManager.js:783 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Kopier" + +# MT: LibreTranslate +#: app/dragManager.js:783 +msgid "Link" +msgstr "Link" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Mappe" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Fil" + +# MT: LibreTranslate +#: app/fileItemIcon.js:270 +msgid "Opening File Failed" +msgstr "Feil ved åpning av fil" + +# MT: LibreTranslate +#: app/fileItemIcon.js:276 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Det er ingen applikasjon installert for å åpne \"{fo}\" filer." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Ny mappe med {0} element" +msgstr[1] "Ny mappe med {0} elementer" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Åpne alle..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Lanser" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Åpne med {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Åpne" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Pakk ut her" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Pakk ut til …" + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Åpne med..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Åpne alle med annet program …" + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Start ved hjelp av Integrert Graphics Card" + +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Stable denne typen" + +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Opphev stabling av denne typen" + +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Kjør som et program" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Skript" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Klipp ut" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Flytt til..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Kopier til..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Gi nytt navn …" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Opprett lenke..." + +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Pakk sammen {0} mappe" +msgstr[1] "Pakk sammen {0} mapper" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Pakk sammen {0} fil" +msgstr[1] "Pakk sammen {0} filer" + +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "E-post til …" + +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Send til mobilenhet" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Flytt til papirkurv" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Slett for godt" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Ikke tillat kjøring som program" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Tøm papirkurv" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Løs ut" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Avmonter" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Gemene egenskaper" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Egenskaper" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "{0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Vis i {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Åpne i {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:537 +msgid "Open Item" +msgstr "Åpne element" + +# MT: LibreTranslate +#: app/fileItemMenu.js:819 +msgid "Extraction Cancelled" +msgstr "Utvinning kansellert" + +# MT: LibreTranslate +#: app/fileItemMenu.js:820 +msgid "Unable to extract File, no destination folder" +msgstr "Kan ikke trekke ut Fil, ingen målmappe" + +# MT: LibreTranslate +#: app/fileItemMenu.js:876 app/fileItemMenu.js:905 +msgid "Select Destination" +msgstr "Velg destinasjon" + +#: app/fileItemMenu.js:879 app/fileItemMenu.js:907 +msgid "Select" +msgstr "Velg" + +#: app/fileItemMenu.js:963 +msgid "Can not email a Directory" +msgstr "Kan ikke e-poste en katalog" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Velg inkluderer en Directory, komprimer til en .zip-fil først?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:991 app/fileItemMenu.js:1022 app/fileItemMenu.js:1039 +#: app/fileItemMenu.js:1058 +msgid "Mail Error" +msgstr "E- postfeil" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 +msgid "Unable to find zip command, please install the program" +msgstr "Klarte ikke å finne zip-kommando, installer programmet" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:999 +msgid "Archive.zip" +msgstr "Arkiv.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1023 +msgid "There was an error in creating a zip archive" +msgstr "Det oppstod en feil i å opprette et zip-arkiv" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1041 +msgid "Unable to find xdg-email, please install the program" +msgstr "Kan ikke finne xdg-e-post, installer programmet" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1059 +msgid "There was an error in emailing Files" +msgstr "Det oppstod en feil i e-postfiler" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1174 +msgid "Can Not open the Working Directory" +msgstr "Kan ikke åpne arbeidskatalogen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1225 +msgid "Unable to Open in Gnome Console" +msgstr "Kan ikke åpne i Gnome-konsollen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Installer Gnome Console eller annet terminalprogram" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1235 +msgid "Unable to Open {0}" +msgstr "Kan ikke åpne {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Please Install {0}" +msgstr "Vennligst installer {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1281 +msgid "Copy Cancelled" +msgstr "Kopier Avlyst" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1282 +msgid "Unable to copy Files, no destination folder" +msgstr "Kan ikke kopiere filer, ingen målmappe" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1305 +msgid "Move Cancelled" +msgstr "Flytt avlyst" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1306 +msgid "Unable to move Files, no destination folder" +msgstr "Kan ikke flytte filer, ingen målmappe" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ kan ikke åpne filer av denne typen!" + +# MT: LibreTranslate +#: app/preferences.js:885 +msgid "Console" +msgstr "Konsoll" + +# MT: LibreTranslate +#: app/shortcutManager.js:85 +msgid "Default Shortcut:" +msgstr "Standardsnarvei:" + +# MT: LibreTranslate +#: app/shortcutManager.js:109 +msgid "Type new..." +msgstr "Skriv inn ny..." + +# MT: LibreTranslate +#: app/shortcutManager.js:125 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Endring + Nøkkel (f.eks. Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:130 +msgid "Reset to Default" +msgstr "Nullstill til standard" + +# MT: LibreTranslate +#: app/shortcutManager.js:134 +msgid "No Accelerator" +msgstr "Ingen akselerator" + +# MT: LibreTranslate +#: app/shortcutManager.js:243 +msgid "System Shortcuts" +msgstr "Systemsnarveier" + +# MT: LibreTranslate +#: app/shortcutManager.js:244 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Felles system definerte tastatursnarveier" + +# MT: LibreTranslate +#: app/shortcutManager.js:302 +msgid "Local Shortcuts" +msgstr "Lokale snarveier" + +# MT: LibreTranslate +#: app/shortcutManager.js:303 +msgid "Application Keyboard Shortcuts" +msgstr "Program tastatursnarveier" + +# MT: LibreTranslate +#: app/shortcutManager.js:364 +msgid "Global Shortcuts" +msgstr "Globale snarveier" + +# MT: LibreTranslate +#: app/shortcutManager.js:365 +msgid "System Keyboard Shortcuts" +msgstr "System tastatursnarveier" + +# MT: LibreTranslate +#: app/shortcutManager.js:661 +msgid "Keyboard Shortcuts" +msgstr "Tastatursnarveier" + +# MT: LibreTranslate +#: app/shortcutManager.js:673 +msgid "Reset Shortcuts" +msgstr "Tilbakestill snarveier" + +# MT: LibreTranslate +#: app/shortcutManager.js:674 +msgid "Reset all shortcuts to Defaults" +msgstr "Tilbakestill alle snarveier til standard" + +# MT: LibreTranslate +#: app/shortcutManager.js:677 +msgid "Reset All..." +msgstr "Tilbakestill alle..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Vis skrivebord i filer" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Åpne i terminal" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Endre bakgrunn" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Endre skjerminnstillinger" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Endre innstillinger for skrivebordsikon" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Opprydning av ikoner" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Hold arrangert" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Hold Stacked" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Sorter spesielle mapper" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Arranger ikoner etter navn" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Arranger ikoner etter synkront navn" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Arrangere ikoner ved endret tid" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Arranger ikoner Etter slag" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Arranger ikoner etter størrelse" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Finn filer" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Oppdater skrivebordet" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Vis skjulte filer" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Avvelg alle" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Forhåndsvisning" + +# MT: LibreTranslate +#: app/shortcuts.js:34 +msgid "Choose Icon Left" +msgstr "Velg ikon venstre" + +# MT: LibreTranslate +#: app/shortcuts.js:35 +msgid "Choose Icon Right" +msgstr "Velg ikon til høyre" + +# MT: LibreTranslate +#: app/shortcuts.js:36 +msgid "Choose Icon Up" +msgstr "Velg ikon opp" + +# MT: LibreTranslate +#: app/shortcuts.js:37 +msgid "Choose Icon Down" +msgstr "Velg ikon ned" + +# MT: LibreTranslate +#: app/shortcuts.js:38 +msgid "Show Menu" +msgstr "Vis meny" + +# MT: LibreTranslate +#: app/shortcuts.js:39 +msgid "Display Shell Background Menu" +msgstr "Vis skal-bakgrunnsmeny" + +# MT: LibreTranslate +#: app/shortcuts.js:40 +msgid "Create Desktop Shortcut" +msgstr "Opprett skrivebordssnarvei" + +# MT: LibreTranslate +#: app/shortcuts.js:41 +msgid "Text Entry Accels Turn On" +msgstr "Tekstoppføring akselererer slå på" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Text Entry Accels Turn Off" +msgstr "Tekstoppføring Akselerer slå av" + +# MT: LibreTranslate +#: app/shortcuts.js:44 +msgid "Show Shortcut Viewer" +msgstr "Vis snarvei Seer" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Show Or Hide Desktop Icons" +msgstr "Vis eller skjul skrivebordsikon" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Mer informasjon" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Hjem" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Papirkurv" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Stack" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Knekt lenke" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Kan ikke åpne denne filen fordi det er en ødelagt symbolsk lenke" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Drive" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" er ikke tilgjengelig" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Installer \"${programName}\" for å gjøre det mulig å utføre disse " +"handlingene." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Velg skrivebordsmappe" + +#: app/utils/desktopIconsUtil.js:216 +msgid "Command not found" +msgstr "Fant ikke kommandoen" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Velg en app for å åpne de valgte filene." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Bruk alltid denne filtypen" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Avbryt" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Åpne" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Vis ikoner på GNOME-skrivebordet" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "" +"desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"desktop;icons;files;folders;manager;arrange;hide;show;lancer;shortcuts;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Vis<> Skjul" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Innstillinger" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Slå av" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Ikonstørrelse" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Sett størrelsen for skrivebordsikonene." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Vis personlig mappe" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Vis den personlige mappen på skrivebordet." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Vis papirkurvsikon" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Vis papirkurvsikonet på skrivebordet." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Oppstartshjørne for nye ikoner" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Sett hjørnet fra hvor ikonene vil begynne å bli plassert." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Vis eksterne enheter på skrivebordet" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Vis diskstasjonene som er koblet til datamaskinen." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Vis nettverksstasjoner på skrivebordet" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Vis monterte nettverksdataområder på skrivebordet." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Legg til nye lagringsenheter på motsatt side av skjermen" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Når du legger til lagringsenheter og dataområder på skriveborder vil de bli " +"lagt til på andre siden av skjermen." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Viser et rektangel på destinasjonsstedet under DnD" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Når du gjør en Drag'n'Drop-operasjon, markerer du stedet i rutenettet der " +"ikonet vil bli satt med et semitransparent rektangel." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Sorter spesielle mapper - Hjem / Trash Drives." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Når du arrangerer ikoner på skrivebordet, skal du sortere og endre " +"posisjonen til hjemme-, søppel- og monterte nettverks- eller eksterne enheter" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Behold ikoner sortert" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Alltid behold ikoner sortert etter sist valgte sortering" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Velg sortering" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Ikoner sortert etter denne egenskapen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Hold ikoner stacked" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Alltid holde ikoner stablert, lignende typer er gruppert" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Typer filer å ikke Stack" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "En array av strenge typer, ikke Stack disse filtypene" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Legg til et emblem for lenker" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Legg til et emblem som gjør det mulig å identifisere myke lenker." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Bruk svart etikett-tekst" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Mal etiketten i svart i stedet for hvitt. Nyttig når du bruker lys " +"bakgrunner." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Vis nye ikoner på annet enn hovedskjerm hvis dette er tilkoblet" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Hvis en andre skjerm er koblet til, plasseres nye ikoner på den ikke primære " +"skjermen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ikoner kan plasseres hvor som helst på skrivebordet" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ikoner er ikke på et rektangulært rutenett, men kan plasseres hvor som helst " +"uavhengig av nettet" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Hide/Show all desktop windows" +msgstr "Skjul/Vis alle skrivebordsvinduer" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Vis ikonene på skrivebordet eller skjul dem alle" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "User Application Shortcuts" +msgstr "Brukerprogramsnarveier" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Override for default application shortcuts set by the User" +msgstr "Overstyr for standardprogramsnarveier satt av brukeren" diff --git a/ding/po/nl.po b/ding/po/nl.po new file mode 100644 index 0000000..efde9c1 --- /dev/null +++ b/ding/po/nl.po @@ -0,0 +1,2050 @@ +# 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. +# LibreTranslate , 2023, 2024, 2026. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:10+0000\n" +"Last-Translator: Weblate \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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Overschrijven" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Sneltoetsen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Sneltoetsen bewerken..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Toepassing Sneltoetsen bewerken" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Sneltoetsen Alleen bewerken bij inschakelen van extensie..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Help vertalen in uw webbrowser" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Bureaublad" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Bestanden" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Tweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Meer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Bureaubladinstellingen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Instellingen voor het bureaubladprogramma" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Bureaubladmap" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Huidig bureaublad:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Instellingen voor bestanden" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Instellingen gedeeld met Gnome-bestanden" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Diversen Tweaks" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Grootte van bureaubladpictogrammen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Klein" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Klein" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Standaard" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Groot" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Nieuwe pictogramuitlijning" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Linkerbovenhoek" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Rechterbovenhoek" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Linkeronderhoek" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Rechteronderhoek" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" +"Voeg eerst nieuwe pictogrammen toe aan secundaire monitoren, indien " +"beschikbaar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Pictogrammen aan raster koppelen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "Bureaublad in bestanden tonen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Nieuwe bureaubladmap" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Een nieuwe map voor het bureaublad instellen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Kies" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Bureaublad terugzetten naar ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Standaard bureaubladmap herstellen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Herstellen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Het dropraster markeren" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Informatie emblemen toevoegen voor links, encryptie" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Gebruik donkere tekst in pictogramlabels" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Persoonlijke map op het bureaublad tonen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Het prullenbakpictogram op het bureaublad tonen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Externe schijven op het bureaublad tonen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Netwerkstations op het bureaublad tonen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Nieuwe schijven aan de andere kant van het bureaublad toevoegen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Actie om items te openen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Eén klik" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Dubbelklik" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Afbeeldingsminimaturen tonen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Altijd" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Alleen op deze computer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Nooit" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Een contextmenu-item tonen om permanent te verwijderen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Verborgen bestanden tonen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Mappen openen bij drag hover" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Over..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Vertaling" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Machine vertaald met LibreTranslate. Gebruiker geverifieerd en bewerkt op " +"Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Vertalingen bewerken" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Controleren, toevoegen of correcte vertaling in uw webbrowser" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Vertalen" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Kies een toepassing om {foo} te openen" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Items openen" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Map openen" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Bestand openen" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Fout bij wijzigen standaardtoepassing" + +# MT: LibreTranslate +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" +"Fout bij het instellen van {foo} als standaardtoepassing voor {mimetype}" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Ongeldige machtigingen op AppImage-bestand" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Dit AppAfbeeldingsbestand heeft onjuiste machtigingen." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Klik met de rechtermuisknop om Eigenschappen te bewerken, dan:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Toestemmingen instellen, in" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Andere Toegang" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Alleen lezen" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "of" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Geen" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Optie inschakelen" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Bestand als programma laten uitvoeren" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Ongetrouwd AppImage-bestand" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "" +"Deze app Afbeeldingsbestand is niet vertrouwd, het kan niet worden gestart." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Om te starten, met de rechtermuisknop, vervolgens:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "inschakelen" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Toepassingen starten toestaan" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Mapnaam" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Bestandsnaam" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "Oké" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Hernoemen" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Automatisch Ar is niet geïnstalleerd" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Om te kunnen werken met gecomprimeerde bestanden, installeer file-roller en/" +"of gir-1.2-gnome AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Bestanden uitpakken" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Bestanden comprimeren" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Annuleren" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Voer hier een wachtwoord in" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Gedeeltelijk bestand verwijderen '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Doelmap aanmaken" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Bestanden uitpakken in '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Extractie voltooid" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Uitpakken '${fullPathFile}' is voltooid." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Extractie geannuleerd" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Het uitpakken '${fullPathFile}' is door de gebruiker geannuleerd." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Wachtwoord vereist voor ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Fout tijdens extractie" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Bestanden comprimeren naar '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Compressie voltooid" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Het comprimeren van bestanden in '${outputFile}' is voltooid." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Geannuleerde compressie" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Het uitvoerbestand '${outputFile}' bestaat al." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" +"Het comprimeren van bestanden in '${outputFile}' is door de gebruiker " +"geannuleerd." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Fout tijdens compressie" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Archief maken" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Archiefnaam" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Wachtwoord" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "Aanmaken" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Compatibel met alle besturingssystemen." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "" +"Wachtwoord beveiligd .zip, moet worden geïnstalleerd op Windows en Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Kleinere archieven maar alleen Linux en Mac." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Kleinere archieven maar moeten worden geïnstalleerd op Windows en Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "De weergegeven bureaublad is beschrijfbaar door anderen" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop-bestanden kunnen niet vanaf dit bureaublad worden gestart omdat de " +"bureaubladmap door andere gebruikers beschrijfbaar is.\n" +"\n" +"Controleer de rechten van deze bureaubladmap, en zorg ervoor dat het niet " +"beschrijfbaar is door anderen." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Bureaubladbestand gebroken" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Dit .desktop bestand heeft fouten of wijst naar een programma zonder " +"toestemming. Het kan niet uitgevoerd worden.\n" +"\n" +"Bewerk het bestand om het juiste uitvoerbare programma in te stellen." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Ongeldige machtigingen op bureaubladbestand" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Dit bureaubladbestand heeft onjuiste machtigingen." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Ongetrouwd bureaubladbestand" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Dit bureaubladbestand is niet vertrouwd, het kan niet worden gestart." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Kon niet openen Bestand" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} kan geen bestanden van dit type openen!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Bureaubladmap Wijziging mislukt" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "De nieuwe bureaubladmap is een symbolische koppeling" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "De nieuwe bureaubladmap bestaat niet of is geen map!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Bureaubladmap gewijzigd" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Overschakelen naar nieuw bureaublad..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Bureaubladpictogrammen" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Bureaublad bijwerken" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Widget toevoegen" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Beeldschermbuffer Schalen is niet ingeschakeld" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Meerdere monitoren met verschillende zoominstellingen, raden per monitor " +"framebuffer schalen.\n" +"\n" +"Schakel in Mutter Dconf Instellingen" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Meerdere monitoren met verschillende zoominstellingen.\n" +"\n" +"Per monitor framebuffer schalen inschakelen in Mutter Dconf-instellingen?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Inschakelen" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Kan het bureaublad niet tonen" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"De bureaubladmap {desktop} is een symbolische koppeling\n" +"\n" +"Stel de bureaubladmap in op een echte map" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"De bureaubladmap {desktop} bestaat niet of is geen map\n" +"\n" +"Controleer uw xdg-utils installatie en stel de juiste bureaubladmap in" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME Bestanden niet gevonden" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "" +"Het Gnome Bestandentoepassing is vereist door Gtk4 Desktop pictogrammen NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Er is geen standaard bestandsbeheer" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Er is geen toepassing die mimetype \"inode/directory\" behandelt" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome-bestanden zijn niet geregistreerd als bestandsbeheer" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"De Gnome Files-applicatie is niet geprogrammeerd om Mappen te openen!\n" +"Controleer uw xdg-utils installatie\n" +"Controleer Gnome-bestanden .desktop Bestandsinstallatie" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Huidige selectie wissen voor nieuwe zoekopdracht" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Bestanden zoeken op het bureaublad" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Nieuwe map" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Map aanmaken mislukt" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Kon map niet aanmaken" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Kan bureaublad in Gnome-bestanden niet openen" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Voorkeuren Venster is geopend" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Dit raam is open. Ga naar het actieve venster." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Instellingen" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Sjabloonaanmaakfout" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Kon document niet aanmaken" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Naam" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Naam Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Gewijzigde tijd" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Type" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Grootte" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Gearrangeerd blijven.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Stacked houden door Type.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Sorteer Home/Drives/Trash.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Bureaublad wijzigen" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Standaard bureaublad herstellen" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Instellingen voor bureaubladpictogram" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Sneltoetsen tonen" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Nieuw document" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Plakken" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Ongedaan maken" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Opnieuw" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Alles selecteren" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Pictogrammen ordenen" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Arrange By.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Bureaublad tonen in {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Openen in {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Edit Widget" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Schelpmenu.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "SymLink maken mislukt" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Kon symbolische verwijzing niet aanmaken" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Kopiëren/verplaatsen is mislukt" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} Bestaat niet" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Kies actie voor bestanden" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Verplaatsen" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Kopiëren" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Verband" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Map" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Bestand" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Openen van bestand mislukt" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Er is geen toepassing geïnstalleerd om \"{fo}\" bestanden te openen." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Nieuwe map met {0} item" +msgstr[1] "Nieuwe map met {0} item" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Alles openen..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Starten" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Openen met {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Openen" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Hier uitpakken" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Uitpakken naar…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Openen met..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Alles openen met een andere toepassing..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Starten met geïntegreerde grafische kaart" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Stack dit type" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Dit type losmaken" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Als programma uitvoeren" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Scripts" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Knippen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Naar..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Kopiëren naar..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Hernoemen…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Link aanmaken..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "{0}-map comprimeren" +msgstr[1] "{0}-map comprimeren" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Comprimeren {0} bestand" +msgstr[1] "Comprimeren {0} bestand" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "E-mail naar..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Naar mobiel apparaat verzenden" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Verplaatsen naar prullenbak" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Definitief verwijderen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Lanceren niet toestaan" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Prullenbak legen" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Uitwerpen" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Ontkoppelen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Gemeenschappelijke eigenschappen" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Eigenschappen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Alles tonen in {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Tonen in {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Openen in {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Item openen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Extractie geannuleerd" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Kan niet uitpakken Bestand, geen doelmap" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Bestemming selecteren" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Selecteren" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Kan geen map e-mailen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Selectie omvat een directory, comprimeren naar een .zip-bestand eerst?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "E-mailfout" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Kan zip-opdracht niet vinden, installeer het programma" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archief.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Er is een fout opgetreden bij het aanmaken van een zip-archief" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Kan xdg-email niet vinden, installeer het programma" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Er is een fout opgetreden bij het e-mailen van bestanden" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Kan de werkmap niet openen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Kan niet openen in Gnome Console" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Installeer Gnome Console of een ander terminalprogramma" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Kan niet openen {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Installeer {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Geannuleerd kopiëren" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Kon bestanden niet kopiëren, geen doelmap" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Verplaatsen geannuleerd" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Kan bestanden niet verplaatsen, geen doelmap" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ kan geen bestanden van dit type openen!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Console" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Standaard sneltoets:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Typ nieuw..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modifier + sleutel (bv. Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Terugzetten naar standaard" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Geen versnelling" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Systeemsneltoetsen" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Sneltoetsen voor het gemeenschappelijk systeem" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Lokale sneltoetsen" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Sneltoetsen voor toepassingen" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Globale sneltoetsen" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Systeemtoetsensneltoetsen" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Sneltoetsen" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Sneltoetsen resetten" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Alle sneltoetsen terugzetten naar standaardinstellingen" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Alles resetten..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Bureaublad in bestanden tonen" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Openen in terminalvenster" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Achtergrond wijzigen" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Weergaveinstellingen wijzigen" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Bureaubladpictograminstellingen wijzigen" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Pictogrammen opruimen" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Gearrangeerd houden" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Stacked houden" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Speciale mappen sorteren" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Pictogrammen op naam sorteren" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Pictogrammen sorteren op aflopende naam" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Pictogrammen sorteren op gewijzigde tijd" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Pictogrammen ordenen Op aard" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Pictogrammen sorteren op grootte" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Bestanden zoeken" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Bureaublad bijwerken" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Verborgen bestanden tonen" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Alles deselecteren" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Voorbeeld" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Widget Toevoegen" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Pictogram links kiezen" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Pictogram rechts kiezen" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Pictogram omhoog kiezen" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Pictogram omlaag kiezen" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Menu tonen" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Menu Shell-achtergrond tonen" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Bureaubladsneltoets aanmaken" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Tekstinvoer Accelers ingeschakeld" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Tekstinvoer Accels uitschakelen" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Sneltoets tonen Viewer" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Bureaubladpictogrammen tonen of verbergen" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Meer informatie" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Persoonlijke map" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Prullenbak" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Stack" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Gebroken koppeling" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Kan dit bestand niet openen omdat het een gebroken Symlink is" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Rijden" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Voorkeuren" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Gebruiker" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Toestaan" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Strikt" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Ontspannen" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Ontwikkeling" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Standaard" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Commando:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Voorkeuren" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" is niet beschikbaar" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Installeer \"${programName}\" om Bureaubladpictogrammen in staat te stellen " +"deze acties uit te voeren." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Bureaubladmap kiezen" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Opdracht niet gevonden" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Kies een app om de geselecteerde bestanden te openen." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Altijd gebruiken voor dit bestandstype" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Annuleren" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Openen" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Pictogrammen op het GNOME-bureaublad tonen" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Toon <>Verbergen" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Voorkeuren" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Uitschakelen" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Pictogramgrootte" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Stel de grootte van de bureaubladpictogrammen in." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Persoonlijke map tonen" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Toon de persoonlijke map op het bureaublad." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Prullenbakpictogram tonen" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Toon het prullenbakpictogram op het bureaublad." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Nieuwe pictogrammen beginnen hoek" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Stel de hoek van waar de pictogrammen zullen worden geplaatst." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Externe schijven op het bureaublad tonen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Toon de schijven verbonden met de computer." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Netwerkstations op het bureaublad tonen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Aangekoppelde netwerkvolumes op het bureaublad tonen." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Nieuwe schijven aan de andere kant van het scherm toevoegen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Bij het toevoegen van stations en volumes aan het bureaublad, voeg ze toe " +"aan de andere kant van het scherm." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Toont een rechthoek in de bestemming plaats tijdens DnD" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Bij het uitvoeren van een Drag'n'Drop operatie, markeert u de plaats in het " +"raster waar het pictogram zal worden geplaatst met een semitransparante " +"rechthoek." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Speciale mappen sorteren - Home/Trash Drives." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Bij het regelen van pictogrammen op het bureaublad, sorteren en wijzigen van " +"de positie van de thuis, prullenbak en gemount Netwerk of externe schijven" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Pictogrammen sorteren" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Pictogrammen altijd behouden Gearrangeerd door de laatste orde" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Regelvolgorde" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Pictogrammen ingesteld door deze eigenschap" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Pictogrammen gestapeld houden" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "" +"Altijd Pictogrammen Stacked houden, Soortgelijke types zijn gegroepeerd" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Type bestanden om niet te stapelen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Een Array van strings types, Stack dit soort bestanden niet" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Een embleem toevoegen aan links" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Voeg een embleem toe om zachte links te identificeren." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Zwart gebruiken voor labeltekst" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Schilder de tekst in zwart in plaats van wit. Handig bij het gebruik van " +"lichtachtergronden." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Nieuwe pictogrammen op niet primaire monitor tonen indien verbonden" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Als een tweede monitor is aangesloten, worden nieuwe pictogrammen geplaatst " +"op de niet primaire monitor" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Pictogrammen kunnen overal op bureaublad worden geplaatst" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Pictogrammen zijn niet op een rechthoekig raster, maar kunnen overal worden " +"gepostioneerd onafhankelijk van raster" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +#, fuzzy +msgid "Show Desktop Widgets" +msgstr "Bureaublad in bestanden tonen" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Alle bureaubladvensters verbergen/tonen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Pictogrammen op het bureaublad tonen of verbergen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Sneltoetsen voor gebruikerstoepassingen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" +"Overschrijven voor standaard toepassing sneltoetsen ingesteld door de " +"gebruiker" diff --git a/ding/po/oc.po b/ding/po/oc.po new file mode 100644 index 0000000..ed98b5c --- /dev/null +++ b/ding/po/oc.po @@ -0,0 +1,1902 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the ding package. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# Quentin PAGÈS , 2025, 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:10+0000\n" +"Last-Translator: Quentin PAGÈS \n" +"Language-Team: Occitan \n" +"Language: oc\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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Remplaçar" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "Personalizar l’aspèct de las icònas del burèu amb CSS" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "Avertiment : aquò pòt copar l’extension se realizat incorrèctament" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "Modificar lo fichièr de subrecargament CSS..." + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "Aplicar las modificacions CSS ara" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "Recargar lo CSS per aplicar las modificacions immediatament" + +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Acorchis" + +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Modificar los acorchis..." + +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Modificar los acorchis d’aplicacion" + +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "" + +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Ajudatz a traduire dins vòstre navegador web" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Burèu" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Fichièrs" + +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Ajustaments" + +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Mei" + +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Paramètres del burèu" + +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Paramètres del programa del burèu" + +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Dossièr del burèu" + +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Burèu actual : " + +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Paramètres dels fichièrs" + +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Paramètres partejats amb Fichièrs de GNOME" + +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Ajustaments divèrses" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Talha de las icònas burèu" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Minuscula" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Pichona" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Estandarda" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Granda" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Alinhament de las icònas novèlas" + +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Caire en naut a esquèrra" + +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Caire en naut a drecha" + +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Caire en bas a esquèrra" + +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Caire en bas a drecha" + +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" + +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Activar las icònas sus la grasilha" + +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "Mostrar lo burèu dins Fichièrs" + +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Dossièr del burèu" + +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Definir un dossièr novèl pel burèu" + +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Causir" + +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "" + +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Restaurar lo dossièr pel burèu per defaut" + +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Restaurar" + +#: app/adwPreferencesWindow.js:732 +#, fuzzy +msgid "Highlight the drop grid" +msgstr "Enlusir la zòna de depaus pendent un lisar-depausar" + +#: app/adwPreferencesWindow.js:742 +#, fuzzy +msgid "Add information emblems for links, encryption" +msgstr "Apondre una emblèma als ligams" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Utilizar un tèxte escur pels labèls d’icòna" + +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Mostrar lo dossièr personal pel burèu" + +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Mostrar l'icòna de l'escobilhièr pel burèu" + +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Mostrar los lector extèrns montats pel burèu" + +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Mostrar los lectors ret montats pel burèu" + +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Apondre los lectors novèls al costat opausat de l’ecran" + +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Accion per dobrir d'elements" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Clic simple" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Clic doble" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Mostrar las miniaturas d'imatge" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Totjorn" + +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Sus aqueste ordenador unicament" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Jamai" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Mostrar un element de menú contextual per suprimir definitivament" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Visualizar los fichièrs amagats" + +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "" + +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "A prepaus..." + +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Traduccion" + +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" + +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Traduccions" + +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "" + +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Traduire" + +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "" + +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Dobrir elements" + +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Dobrir dossièr" + +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Dobrir fichièr" + +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +#: app/appImageFileItem.js:57 +#, fuzzy +msgid "Invalid Permissions on AppImage File" +msgstr "Autorizacion invalida sul fichièr de burèu" + +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Aqueste fichièr AppImage a d’autorizacions incorrèctas." + +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Fasètz clicatz drech per modificar las proprietats, puèi :" + +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "" + +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Autres accès" + +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "En lectura sola" + +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "or" + +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Cap" + +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +#, fuzzy +msgid "Enable option" +msgstr "Activar" + +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Permetre d’executar lo fichièr coma programa" + +#: app/appImageFileItem.js:79 +#, fuzzy +msgid "Untrusted AppImage File" +msgstr "Mostrar lo burèu dins Fichièrs" + +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Aqueste fichièr AppImage es pas fisable, se pòt pas lançar." + +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "" + +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "activar" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Permetre l'aviada" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Nom del dossièr" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Nom de fichièr" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "D’acordi" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Renomenar" + +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "AutoAr es pas installat" + +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Per poder trabalhar amb de fichièrs compressats, installatz file-roller e/o " +"gir-1.2-gnomeAutoAr" + +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Extraccion dels fichièrs" + +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Compression dels fichièrs" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Anullar" + +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Picatz un senhal aicí" + +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Supression de fichièr parcial « ${outputFile} »" + +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Creacion d’un dossièr de destinacion" + +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Extraccion dels fichièrs dins « ${outputPath} »" + +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Extraccion acabada" + +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "L’extraccion de « ${fullPathFile} » es acabada." + +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Extraccion anullada" + +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "L’utilizaire a anullat l’extraccion de « ${fullPathFile} »." + +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Frasa secrèta requesida per ${filename}" + +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Error pendent l’extraccion" + +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "" + +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Compression acabada" + +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "" + +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Compression anullada" + +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "" + +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" + +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "" + +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Crear un archiu" + +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Nom de l'archiu" + +#: app/autoAr.js:608 +msgid "Password" +msgstr "Senhal" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "Crear" + +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "" + +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "" + +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "" + +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "" + +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "" + +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Mostrar lo burèu dins Fichièrs" + +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Aqueste fichièr .desktop a d’errors o mena a un programa sens autorizacion. " +"Se pòt pas executar.\n" +"\n" +"Modificatz lo fichièr per definir un programa executable corrècte." + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Autorizacion invalida sul fichièr de burèu" + +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Aqueste fichièr de burèu a d’autorizacions incorrèctas." + +#: app/desktopFileIcon.js:173 +#, fuzzy +msgid "Untrusted Desktop File" +msgstr "Mostrar lo burèu dins Fichièrs" + +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Aqueste fichièr de burèu es pas fisable, se pòt pas lançar." + +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Impossible de dobrir lo fichièr" + +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "" + +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +#, fuzzy +msgid "Desktop Folder Change Failed" +msgstr "Nom del dorsièr" + +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "" + +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "" + +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "" + +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "" + +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +#, fuzzy +msgid "Desktop Icons" +msgstr "Paramètres icònas de burèu" + +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Burèu" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "" + +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "" + +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" + +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" + +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Activar" + +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" + +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "Gestionari de fichièrs de GNOME pas trobat" + +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "" + +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "" + +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "" + +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "" + +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" + +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Escafar la seleccion actuala abans una recèrca novèla" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Recercar de fichièrs al burèu" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Dossièr novèl" + +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Fracàs de la creacion del dossièr" + +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Fracàs de la creacion de la sesilha SFTP : %s" + +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "" + +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "" + +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "" + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Paramètres" + +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "" + +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "" + +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Nom" + +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Nom Z-A" + +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Data de modification" + +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Tipe" + +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Talha" + +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Gardar arrengat…" + +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Gardar l’empilament per tipe…" + +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Triar Repertòri personal/disques/escobilhièr…" + +#: app/desktopMenu.js:1063 +#, fuzzy +msgid "Change Desktop" +msgstr "Burèu" + +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Restaurar lo dossièr pel burèu per defaut" + +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Paramètres icònas de burèu" + +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Afichar los acorchis" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Document novèl" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Pegar" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Desfar" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Refar" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Tot seleccionar" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Arrengar las icònas" + +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Arrengar per…" + +#: app/desktopMenu.js:1116 +#, fuzzy +msgid "Show Desktop In {0}" +msgstr "Mostrar lo burèu dins Fichièrs" + +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "" + +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "" + +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "" + +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "" + +#: app/dragManager.js:748 +#, fuzzy +msgid "Copy/Move Failed" +msgstr "Anullar" + +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "Se tròba pas" + +#: app/dragManager.js:791 +#, fuzzy +msgid "Choose Action for Files" +msgstr "Mostrar dins Fichièrs" + +#: app/dragManager.js:792 +msgid "Move" +msgstr "Desplaçar" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Copiar" + +#: app/dragManager.js:792 +msgid "Link" +msgstr "Ligam" + +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Folder" + +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Fichièr" + +#: app/fileItemIcon.js:286 +#, fuzzy +msgid "Opening File Failed" +msgstr "Dobrir" + +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "" + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Dossièr novèl amb {0} element" +msgstr[1] "Dossièr novèl amb {0} elements" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Dobrir tot..." + +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Aviar" + +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Dobrir amb {foot}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Dobrir" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Traire aicí" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Extraire dins..." + +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Dobrir amb..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Dobrir tot amb una autra aplicacion..." + +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Aviar en utilizant la carta grafica dedicada" + +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Apilar aqueste tipe" + +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Desplegar aqueste tipe" + +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Executar coma un programa" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Scripts" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Copar" + +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Desplaçar cap a..." + +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Copiar cap a..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Renomenar…" + +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Crear un ligam..." + +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Compressar {0} dossièr" +msgstr[1] "Compressar {0} dossièrs" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Compressar {0} fichièr" +msgstr[1] "Compressar {0} fichièrs" + +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Enviar a..." + +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Desplaçar dins l'escobilhièr" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Suprimir definitivament" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Permetre pas l’aviada" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Voidar l'escobilièr" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Ejectar" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Desmontar" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Proprietats comunas" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Proprietats" + +#: app/fileItemMenu.js:362 +#, fuzzy +msgid "Show All in {0}" +msgstr "Tot mostrar dins Fichièrs" + +#: app/fileItemMenu.js:363 +#, fuzzy +msgid "Show in {0}" +msgstr "Mostrar dins Fichièrs" + +#: app/fileItemMenu.js:374 +#, fuzzy +msgid "Open in {0}" +msgstr "Dobrir un fichièr" + +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Dobrir elements" + +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Extraccion anullada" + +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "" + +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Seleccionar una destinacion" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Causir" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Impossible d’enviar un email a un Repertòri" + +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "" +"La seleccion inclutz un repertòri, compressatz lo repertòri d'en primièr ?" + +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "" + +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "" + +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +#, fuzzy +msgid "Archive.zip" +msgstr "Nom de fichièr" + +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "" + +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "" + +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "" + +#: app/fileItemMenu.js:1176 +#, fuzzy +msgid "Can Not open the Working Directory" +msgstr "Impossible d’enviar un email a un Repertòri" + +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "" + +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "" + +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "" + +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "" + +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Còpia anullada" + +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "" + +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Desplaçament anullat" + +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "" + +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "" + +#: app/preferences.js:1078 +msgid "Console" +msgstr "Console" + +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "" + +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "" + +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "" + +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Restablir las valors per defaut" + +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "" + +#: app/shortcutManager.js:256 +#, fuzzy +msgid "System Shortcuts" +msgstr "Afichar los acorchis" + +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "" + +#: app/shortcutManager.js:315 +#, fuzzy +msgid "Local Shortcuts" +msgstr "Afichar los acorchis" + +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "" + +#: app/shortcutManager.js:377 +#, fuzzy +msgid "Global Shortcuts" +msgstr "Afichar los acorchis" + +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Acorchis de clavièr" + +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Acorchis de clavièr" + +#: app/shortcutManager.js:706 +#, fuzzy +msgid "Reset Shortcuts" +msgstr "Afichar los acorchis" + +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "" + +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Tot reïnicializar..." + +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Mostrar lo burèu dins Fichièrs" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Dobrir dins un terminal" + +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Modificar lo rèireplan…" + +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Paramètres d'afichatge" + +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Paramètres icònas de burèu" + +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "" + +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Gardar arrengat" + +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Gardar las icònas arrengadas" + +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Triar los dossièrs especials" + +#: app/shortcuts.js:24 +#, fuzzy +msgid "Arrange Icons by Name" +msgstr "Arrengar las icònas" + +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "" + +#: app/shortcuts.js:26 +#, fuzzy +msgid "Arrange Icons By Modified Time" +msgstr "Triar per data de modificacion" + +#: app/shortcuts.js:27 +#, fuzzy +msgid "Arrange Icons By Kind" +msgstr "Arrengar las icònas" + +#: app/shortcuts.js:28 +#, fuzzy +msgid "Arrange Icons By Size" +msgstr "Arrengar las icònas" + +#: app/shortcuts.js:29 +#, fuzzy +msgid "Find Files" +msgstr "Fichièrs" + +#: app/shortcuts.js:30 +#, fuzzy +msgid "Update Desktop" +msgstr "Burèu" + +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Afichar los fichièrs amagats" + +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Unselect all" + +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Apercebut" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "" + +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +#, fuzzy +msgid "Choose Icon Left" +msgstr "Mostrar dins Fichièrs" + +#: app/shortcuts.js:42 +#, fuzzy +msgid "Choose Icon Right" +msgstr "Mostrar dins Fichièrs" + +#: app/shortcuts.js:45 +#, fuzzy +msgid "Choose Icon Up" +msgstr "Causir" + +#: app/shortcuts.js:48 +#, fuzzy +msgid "Choose Icon Down" +msgstr "Mostrar dins Fichièrs" + +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Mostrar lo menú" + +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "" + +#: app/shortcuts.js:53 +#, fuzzy +msgid "Create Desktop Shortcut" +msgstr "Mostrar lo burèu dins Fichièrs" + +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "" + +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "" + +#: app/shortcuts.js:57 +#, fuzzy +msgid "Show Shortcut Viewer" +msgstr "Afichar los acorchis" + +#: app/shortcuts.js:58 +#, fuzzy +msgid "Show Or Hide Desktop Icons" +msgstr "Paramètres icònas de burèu" + +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Mai d'informacions" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Dossièr personal" + +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Bordilhièr" + +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Ligam copat" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "" +"Dubertura d'aqueste fichièr impossibla pr’amor qu’es un ligam simbolic copat" + +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "_Disc" + +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Preferéncias" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "User" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Autorizar" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Estrict" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Desvelopament" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Per defaut" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Comanda:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Preferéncias" + +#: app/utils/dbusUtils.js:67 +#, fuzzy +msgid "\"${programName}\" is not available" +msgstr "« ${programName} » es requerit per Desktop Icons" + +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" + +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Dossièr del burèu" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Comanda pas trobada" + +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "" + +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Totjorn utilizar per aqueste tipe de fichièr" + +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Anullar" + +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Dobrir" + +#: data/com.desktop.ding.desktop.in:5 +#, fuzzy +msgid "Display icons on the GNOME desktop" +msgstr "Mostrar l'icòna de l'escobilhièr pel burèu" + +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" + +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Afichar/Amagar" + +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Preferéncias" + +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Disable" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Talha de l'icòna" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Definir la talha de las icònas burèu." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Mostrar lo repertòri personal" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Mostrar lo repertòri personal pel burèu." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Mostrar l'icòna de l'escobilhièr" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +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.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Caire per las icònas novèlas" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Definir lo caire ont seràn plaças las icònas en primièr." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Mostrar los lector extèrns montats pel burèu" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Mostrar los lectors connectats a l'ordenador." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Mostrar los lectors ret montats pel burèu" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Mostrar los volums montats ret pel burèu." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Apondre los lectors novèls al costat opausat de l’ecran" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Pendent l’apondon de lectors e volums pel burèu, los plaçar al costat " +"opausat de l’ecran." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Fa veire un rectangle al lòc de destinacion pendent un lisar-depausar" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Pendent una operacion de lisar-depausar, marca lo lòc per la grasilha ont " +"l’icòna serà plaçada amb un rectangle semi-transparent." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Triar los dossièrs especials — Repertòri personal/Escobilhièr." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"En arrengar las icònas del burèu, per triar e cambiar la posicion del " +"repertòri personal, l’escobilhièr, los volums montats e ret" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Gardar las icònas arrengadas" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Totjorn gardar las icònas arrengadas pel darrièr òrdre causit" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Òrdre d’arrengament" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Icònas arrengadas per aquesta proprietat" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Gardar las icònas arrengadas" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Totjorn gardar las icònas arrengadas pel darrièr òrdre causit" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Tipe de fichièrs d’apilar pas" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "" +"Un tablèu amb de cadenas de tèxte de tipes, apilar pas aquestes tipes de " +"fichièrs" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Apondre una emblèma als ligams" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "" +"Apondre una emblèma per vos permetre d’identificar los ligams leugièrs." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Utilizar lo negre pel tèxt de labèl" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Emplega lo negre pels tèxtes de labèl a la plaça del blanc. Util pendent " +"l’utilizacion de fonzes clars." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +#, fuzzy +msgid "Show Desktop Widgets" +msgstr "Mostrar lo burèu dins Fichièrs" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +#, fuzzy +msgid "Show the icons on the desktop, or hide them all" +msgstr "Mostrar l'icòna de l'escobilhièr pel burèu" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Modificar los acorchis d’aplicacion" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" + +#, fuzzy +#~| msgid "" +#~| "\n" +#~| "Set Permissions, in \"Others Access\", \"Read Only\" or \"None\"" +#~ msgid "" +#~ "\n" +#~ "Set Permissions, in \"Others Access\", \"Read Only\" or \"None\"" +#~ msgstr "" +#~ "\n" +#~ "Definir las autorizacions, dins « Autres accèsses », « Lectura sola » " +#~ "o « Cap »" + +#~ msgid "" +#~ "For this functionality to work in Desktop Icons, you must install \"$" +#~ "{programName}\" in your system." +#~ msgstr "" +#~ "Per que foncione aquesta foncionalitat dins Desktop Icons, devètz " +#~ "installar « ${programName} » dins vòstre sistèma." + +#, fuzzy +#~ msgid "Website" +#~ msgstr "Site Oèb" + +#, fuzzy +#~ msgid "Issues" +#~ msgstr "Problèmas" + +#, fuzzy +#~ msgid "Report" +#~ msgstr "Senhalar" + +#, fuzzy +#~ msgid "License" +#~ msgstr "Licéncia" + +#, fuzzy +#~| msgid "Paste" +#~ msgid "Do Paste" +#~ msgstr "Pegar" + +#, fuzzy +#~ msgid "Copy Item" +#~ msgstr "Dobrir dins un terminal" + +#, fuzzy +#~| msgid "Rename" +#~ msgid "Rename Item" +#~ msgstr "Renomenar" + +#, fuzzy +#~| msgid "Delete permanently" +#~ msgid "Delete Permanently" +#~ msgstr "Suprimir definitivament" + +#, fuzzy +#~| msgid "Properties" +#~ msgid "Show Properties" +#~ msgstr "Afichar las proprietats" + +#~ msgid "Add an emblem to soft links" +#~ msgstr "Apondre una emblèma als ligams leugièrs" + +#, fuzzy +#~ msgid "Volumes" +#~ msgstr "Volum" + +#, fuzzy +#~ msgid "Run" +#~ msgstr "Executar" + +#~ msgid "Close" +#~ msgstr "Tancar" + +#~ msgid "Use Nemo to open folders" +#~ msgstr "Utilizar Nemo per dobrir los dossièrs" + +#~ msgid "Use Nemo instead of Nautilus to open folders." +#~ msgstr "Utilizar Nemo allòc de Nautilus per dobrir los dossièrs." + +#, fuzzy +#~ msgid "Open In Terminal" +#~ msgstr "Dobrir dins un terminal" + +#, fuzzy +#~ msgid "No Extraction Folder" +#~ msgstr "Traire aicí" + +#~ msgid "Select Extract Destination" +#~ msgstr "Seleccionar una destinacion per l'extraccion" + +#~ msgid "Open With Other Application" +#~ msgstr "Dobrir amb una autra aplicacion" + +#~ msgid "Click type for open files" +#~ msgstr "Tipe de clic utilizat per dobrir de fichièrs" + +#~ msgid "Action to do when launching a program from the desktop" +#~ msgstr "" +#~ "Accion de realizar pendent l’aviada d’un programa a partir del burèu" + +#~ msgid "Display the content of the file" +#~ msgstr "Afichar lo contengut del fichièr" + +#~ msgid "Launch the file" +#~ msgstr "Executar lo fichièr" + +#~ msgid "Ask what to do" +#~ msgstr "Demandar de qué far" + +#~ msgid "Local files only" +#~ msgstr "Unicament los fichièrs locals" + +#~ msgid "" +#~ "The Nautilus File Manager is mandatory to work with Desktop Icons NG." +#~ msgstr "" +#~ "Gestionari de fichièrs Nautilus es obligatòri per foncionar amb Desktop " +#~ "Icons NG." + +#~ msgid "Sort by Name" +#~ msgstr "Triar per nom" + +#~ msgid "Sort by Name Descending" +#~ msgstr "Triar per nom descendent" + +#~ msgid "Sort by Type" +#~ msgstr "Triar per tipe" + +#~ msgid "Sort by Size" +#~ msgstr "Triar per talha" + +#~ msgid "" +#~ "To configure Desktop Icons NG, do right-click in the desktop and choose " +#~ "the last item: 'Desktop Icons settings'" +#~ msgstr "" +#~ "Per configurar Desktop Icons NG, clicatz a drech pel burèu e causissètz  " +#~ "« Paramètres icònas de burèu »" + +#~ msgid "Do you want to run “{0}”, or display its contents?" +#~ msgstr "Volètz executar « 0 » o afichar son contengut ?" + +#~ msgid "“{0}” is an executable text file." +#~ msgstr "« {0} » es un fichièr tèxte executable." + +#~ msgid "Execute in a terminal" +#~ msgstr "Executar dins un terminal" + +#~ msgid "Execute" +#~ msgstr "Executar" + +#~ msgid "New folder" +#~ msgstr "Repertòri novèl" + +#~ msgid "Desktop Icons Settings" +#~ msgstr "Paramètres icònas de burèu" + +#~ msgid "Arrange By..." +#~ msgstr "Arrengar per..." + +#~ msgid "Keep Arranged..." +#~ msgstr "Gardar arrengat..." + +#~ msgid "Keep Stacked by type..." +#~ msgstr "Gardar l’empilament per tipe..." + +#~ msgid "Sort Home/Drives/Trash..." +#~ msgstr "Triar Repertòri personal/disques/escobilhièr..." + +#~ msgid "Run as a program" +#~ msgstr "Executar coma un programa" diff --git a/ding/po/pl.po b/ding/po/pl.po new file mode 100644 index 0000000..a64fb50 --- /dev/null +++ b/ding/po/pl.po @@ -0,0 +1,1792 @@ +# Polish translation for desktop-icons. +# Copyright © 2018-2019 the desktop-icons authors. +# This file is distributed under the same license as the desktop-icons package. +# Paweł Piasek , 2022 +# Piotr Drąg , 2018-2019. +# Aviary.pl , 2018-2019. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# LibreTranslate , 2023, 2024, 2026. +# Xtremo3 , 2025. +# Adam Lewicki , 2025. +# Adam Lewicki , 2025, 2026. +# Tari_2023 , 2025, 2026. +# Sundeep Mediratta , 2026. +# Deleted User , 2026. +# Piotr Strebski , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:09+0000\n" +"Last-Translator: Adam Lewicki \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" +"X-Generator: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Nadpisz CSS" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "Dostosuj wygląd ikon pulpitu za pomocą arkuszy stylów CSS" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" +"Ostrzeżenie: Może to spowodować błąd w działaniu rozszerzenia, jeśli " +"zostanie wykonane nieprawidłowo" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "Edytuj plik nadpisywania CSS..." + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "Zastosuj zmiany CSS teraz" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "Przeładuj arkusz CSS, aby natychmiast zastosować zmiany" + +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Skróty klawiszowe" + +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Edytuj skróty klawiszowe..." + +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Edytuj skróty klawiszowe programu" + +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Możliwa zmiana skrótów klawiszowych tylko po włączeniu rozszerzenia..." + +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Pomóż w tłumaczeniu w swojej przeglądarce internetowej" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Pulpit" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Pliki" + +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Poprawki" + +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Więcej" + +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Ustawienia pulpitu" + +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Ustawienia programu pulpitu" + +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Katalog pulpitu" + +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Aktualny pulpit: " + +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Ustawienia plików" + +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Ustawienia udostępnione plikom GNOME" + +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Różne usprawnienia" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Rozmiar ikon na pulpicie" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Malutki" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Mały" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Standardowy" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Duży" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Wyrównanie nowych ikon" + +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Górny lewy róg" + +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Do prawego górnego rogu" + +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Do lewego dolnego rogu" + +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Do prawego dolnego rogu" + +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Najpierw dodaj nowe ikony do monitorów dodatkowych, jeśli są dostępne" + +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Przyciągaj ikony do siatki" + +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Widżety pulpitu" + +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Nowy katalog pulpitu" + +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Ustaw nowy katalog pulpitu" + +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Wybierz" + +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Ustaw ponownie katalog pulpitu na ~/" + +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Przywróć domyślny katalog pulpitu" + +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Przywróć" + +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Podświetl siatkę upuszczeń" + +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Dodaj emblematy informacyjne dla odnośników, szyfrowania" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Używaj ciemnego tekstu w etykietach ikon" + +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Pokaż Katalog domowy na pulpicie" + +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Pokaż Kosz na pulpicie" + +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Pokaż napędy zewnętrzne na pulpicie" + +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Pokaż napędy sieciowe na pulpicie" + +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Dodaj nowe dyski po przeciwnej stronie pulpitu" + +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Działanie otwierania elementów" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Pojedyncze kliknięcie" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Podwójne kliknięcie" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Pokaż podglądy obrazów" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Zawsze" + +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Tylko na tym komputerze" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Nigdy" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Pokaż w menu kontekstowym element usuń trwale" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Pokaż ukryte pliki" + +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Otwórz katalogi po najechaniu kursorem" + +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "O programie" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Tłumaczenie" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Maszyna przetłumaczona za pomocą LibreTranslate. Użytkownik zweryfikowany i " +"edytowany na Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Edytuj tłumaczenia" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "" +"Weryfikacja, dodawanie lub poprawne tłumaczenie w przeglądarce internetowej" + +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Tłumacz" + +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Wybierz program do otwierania {foo}" + +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Otwórz element" + +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Otwórz katalog" + +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Otwórz plik" + +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Błąd podczas zmiany domyślnego programu" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "Błąd podczas ustawiania {foo} jako domyślnego programu dla {mimetype}" + +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Nieprawidłowe uprawnienia pliku AppImage" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Ten plik AppImage ma nieprawidłowe uprawnienia." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "" +"Kliknij prawym przyciskiem myszy, aby edytować właściwości, a następnie:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Ustaw uprawnienia" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Inne Dostęp" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Tylko do odczytu" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "lub" + +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Brak" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Włącz opcję" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Pozwól na wykonanie pliku jako programu" + +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Niezaufany plik AppImage" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Ta aplikacja Plik nie jest zaufany, nie można go uruchomić." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Aby włączyć start, kliknij prawym przyciskiem myszy, a następnie:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "włącz" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Zezwól na uruchamianie" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Nazwa katalogu" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Nazwa pliku" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "OK" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Zmień nazwę" + +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "AutoAr nie jest instalowany" + +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Aby móc pracować ze skompresowanymi plikami, zainstaluj file-roller i/lub " +"gir-1.2-gnomeAutoAr" + +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Rozpakowywanie plików" + +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Kompresowanie plików" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Anuluj" + +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Wprowadź tutaj hasło" + +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Usuwanie częściowego pliku '${outputFile}'" + +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Tworzenie katalogu docelowego" + +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Wyodrębnianie plików do '${outputPath}'" + +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Rozpakowywanie zostało ukończone" + +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Rozpakowywanie '${fullPathFile}' zostało zakończone." + +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Rozpakowywanie zostało anulowane" + +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Rozpakowywanie '${fullPathFile}' zostało anulowane przez użytkownika." + +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Wymagane hasło dla ${filename}" + +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Wystąpił błąd podczas rozpakowywania" + +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Kompresowanie plików do '${outputFile}'" + +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Ukończono kompresję" + +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Kompresowanie plików do '${outputFile}' zostało zakończone." + +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Kompresowanie zostało anulowane" + +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Plik wyjściowy '${outputFile}' już istnieje." + +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" +"Kompresja plików do '${outputFile}' została anulowana przez użytkownika." + +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Wystąpił błąd podczas kompresji" + +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Utwórz archiwum" + +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Nazwa archiwum" + +#: app/autoAr.js:608 +msgid "Password" +msgstr "Hasło" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "Stwórz" + +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Kompatybilny ze wszystkimi systemami operacyjnymi." + +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "" +"Chroniony hasłem plik .zip, musi być zainstalowany na systemach Windows i " +"Mac." + +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Mniejsze archiwa, ale tylko dla Linux i Mac." + +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Mniejsze archiwa, ale muszą być zainstalowane na Windows i Mac." + +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Możliwa edycja tego pulpitu przez wszystkich" + +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"Plików .desktop nie można uruchomić z tego pulpitu, ponieważ inni " +"użytkownicy mają dostęp do zapisu tego katalogu pulpitu.\n" +"Sprawdź uprawnienia tego katalogu pulpitu i upewnij się, że inni nie mają " +"dostępu do zapisu." + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Uszkodzony plik pulpitu" + +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Ten plik .desktop zawiera błędy lub wskazuje na program bez uprawnień. Nie " +"da się go wykonać.\n" +"\n" +"Edytuj plik, aby ustawić poprawny program wykonywalny." + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Nieprawidłowe uprawnienia do pliku pulpitu" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Ten plik pulpitu ma nieprawidłowe uprawnienia." + +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Niezaufany plik pulpitu" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Ten plik pulpitu nie jest zaufany, nie może być uruchomiony." + +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Nie można otworzyć pliku" + +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "${appName} nie może otwierać plików tego typu!" + +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Błąd zmiany katalogu pulpitu" + +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Nowy katalog Pulpit jest dowiązaniem symbolicznym" + +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "" +"Nowy katalog pulpitu nie istnieje!Nowy katalog Pulpit nie istnieje lub nie " +"jest katalogiem!" + +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Zmieniono katalog pulpitu" + +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Przełączanie na nowy pulpit..." + +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Ikony pulpitu" + +#: app/desktopGrid.js:2584 +msgid "Back to Desktop" +msgstr "Wróć do Pulpit" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "Przełącz siatkę widżetów" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Dodaj widżet" + +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Skalowanie bufora ramki monitora jest wyłączone" + +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Wiele monitorów z różnymi ustawieniami powiększenia, zalecane skalowanie " +"bufora ramek na monitor.\n" +"\n" +"Proszę włączyć w ustawieniach Dconf programu Mutter" + +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Wykryto wiele monitorów z różnymi ustawieniami powiększenia\n" +"\n" +"Włączyć skalowanie bufora ramek na monitor w ustawieniach Dconf programu " +"Mutter?" + +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Włącz" + +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Nie można pokazać pulpitu" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Katalog Pulpit {desktop} jest dowiązaniem symbolicznym\n" +"\n" +"Ustaw Katalog Pulpit na właściwy katalog" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Katalog Pulpit {desktop} nie istnieje lub nie jest katalogiem\n" +"\n" +"Sprawdź instalację programu xdg-utils i ustaw właściwy Katalog Pulpit" + +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "Nie odnaleziono Pliki GNOME" + +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "Program Pliki GNOME jest wymagany przez Gtk4 Desktop Icons NG." + +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Nie ma ustawionego domyślnego menedżera plików" + +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Nie ma programu obsługującego typ MIME „inode/directory”" + +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Pliki GNOME nie jest zarejestrowany jako menedżer plików" + +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Program Pliki GNOME nie jest zaprogramowany do otwierania katalogów!\n" +"Sprawdź instalację xdg-utils\n" +"Sprawdź instalację pliku .desktop Pliki GNOME" + +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Usuń bieżący wybór przed nowym wyszukiwaniem" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Znajdź pliki na pulpicie" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Nowy katalog" + +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Utworzenie katalogu nie powiodło się" + +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Nie można utworzyć katalogu" + +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Nie można otworzyć pulpitu w Pliki GNOME" + +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Okno preferencji jest otwarte" + +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "To okno jest otwarte. Proszę przejść do aktywnego okna." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Ustawienia" + +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Błąd tworzenia szablonu" + +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Nie można utworzyć dokumentu" + +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Nazwa" + +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Nazwa od Z do A" + +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Czas modyfikacji" + +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Rodzaj" + +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Rozmiar" + +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Zachowaj porządek…" + +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Zachowaj grupowanie według typu…" + +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Sortuj Katalog domowy/Napędy/Kosz…" + +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Zmień pulpit" + +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Przywróć domyślny pulpit" + +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Ustawienia ikon pulpitu" + +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Pokaż skróty klawiszowe" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Nowy dokument" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Wklej" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Cofnij" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Ponów" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Zaznacz wszystko" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Rozmieść ikony" + +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Sortuj według…" + +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Pokaż pulpit w {0}" + +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Otwórz w {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Edytuj widżety" + +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Menu powłoki…" + +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Tworzenie dowiązania symbolicznego nie powiodło się" + +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Nie można utworzyć dowiązania symbolicznego" + +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Błąd kopiowania/przenoszenia" + +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} nie istnieje" + +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Wybierz działanie dla plików" + +#: app/dragManager.js:792 +msgid "Move" +msgstr "Przenieś" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Skopiuj" + +#: app/dragManager.js:792 +msgid "Link" +msgstr "Odnośnik" + +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Katalog" + +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Plik" + +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Otwarcie pliku się nie powiodło" + +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Nie ma zainstalowanego programu do otwierania plików \"{fo}\"." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Nowy katalog zawierający {0} element" +msgstr[1] "Nowy katalog zawierający {0} elementy" +msgstr[2] "Nowy katalog zawierający {0} elementów" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Otwórz wiele..." + +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Uruchom" + +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Otwórz za pomocą {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Otwórz" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Rozpakuj tutaj" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Rozpakuj do…" + +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Otwórz za pomocą..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Otwórz za pomocą innego programu..." + +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Uruchom za pomocą zintegrowanej karty graficznej" + +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Grupuj ten typ" + +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Nie grupuj tego typ" + +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Uruchom jako program" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Skrypty" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Wytnij" + +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Przenieś do..." + +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Kopiuj do..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Zmień nazwę…" + +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Utwórz odnośnik..." + +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Skompresuj {0} katalog" +msgstr[1] "Skompresuj {0} katalogi" +msgstr[2] "Skompresuj {0} katalogów" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Kompresuj {0} plik" +msgstr[1] "Kompresuj {0} pliki" +msgstr[2] "Kompresuj {0} plików" + +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Prześlij poprzez e-mail do..." + +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Wyślij do urządzenia mobilnego" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Przenieś do kosza" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Usuń trwale" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Nie zezwalaj na uruchamianie" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Opróżnij kosz" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Wysuń" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Odmontuj" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Wspólne właściwości" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Właściwości" + +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Pokaż wszystko w {0}" + +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Pokaż w {0}" + +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Otwórz w {0}" + +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Otwórz element" + +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Rozpakowywanie anulowane" + +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Nie można rozpakować archiwum, nie ma katalogu docelowego" + +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Wybierz miejsce docelowe" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Wybierz" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Nie można wysłać Katalogu" + +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Wybór obejmuje katalog. Skompresować go najpierw do pliku .zip?" + +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Błąd e-mail" + +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Nie można znaleźć polecenia zip. Zainstaluj program" + +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archiwum.zip" + +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Pojawiły się błędy w tworzeniu archiwum zip" + +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Nie można znaleźć xdg-email. Zainstaluj program" + +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Wystąpił błąd podczas wysyłania plików e-mailem" + +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Nie można otworzyć działającego katalogu" + +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Nie można otworzyć w Konsola GNOME" + +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Zainstaluj Konsola GNOME lub inny terminal" + +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Nie udało się otworzyć {0}" + +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Proszę zainstalować {0}" + +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Kopiowanie anulowane" + +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Nie można skopiować plików, nie ma katalogu docelowego" + +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Przenoszenie anulowane" + +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Nie można przenieść plików, nie ma katalogu docelowego" + +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ nie może otwierać plików tego typu!" + +#: app/preferences.js:1078 +msgid "Console" +msgstr "Konsola" + +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Domyślny skrót:" + +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Wpisz nowy..." + +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Wyzwalacz + klawisz (np. Ctrl + Alt + D)" + +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Przywróć domyślne" + +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Brak wyzwalacza" + +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Systemowe skróty klawiszowe" + +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Wspólne, zdefiniowane przez system skróty klawiszowe" + +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Lokalne skróty klawiszowe" + +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Skróty klawiszowe aplikacji" + +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Globalne skróty klawiszowe" + +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Systemowe skróty klawiszowe" + +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Skróty klawiszowe" + +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Resetuj skróty klawiszowe" + +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Zresetuj wszystkie skróty klawiszowe do domyślnych" + +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Resetuj wszystko..." + +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Pokaż Pulpit w Pliki" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Otwórz w terminalu" + +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Zmień tło" + +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Zmień ustawienia ekranu" + +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Zmień ustawienia ikon pulpitu" + +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Wyczyść ikony" + +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Zachowaj porządek" + +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Zachowaj grupowanie ikon" + +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Sortowanie katalogów specjalnych" + +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Rozmieść ikony według nazwy" + +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Rozmieść ikony według nazwy malejąco" + +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Rozmieść ikony według czasu modyfikacji" + +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Rozmieść ikony według typu" + +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Rozmieść ikony według rozmiaru" + +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Znajdź pliki" + +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Zaktualizuj pulpit" + +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Wyświetl ukryte pliki" + +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Odznacz wszystkie" + +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Pogdląd" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "Przełącz wybór klawiatury" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "Przełącz warstwę widżetów" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Dodaj widżet" + +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Wybierz lewą ikonę" + +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Wybierz prawą ikonę" + +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Wybierz ikonę u góry" + +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Wybierz ikonę u dołu" + +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Pokaż menu" + +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Wyświetl menu tła powłoki" + +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Utwórz skrót na pulpicie" + +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Włącz skróty klawiszowe wprowadzania tekstu" + +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Wyłącz skróty klawiszowe wprowadzania tekstu" + +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Pokaż skróty klawiszowe" + +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Pokaż lub ukryj ikony na pulpicie" + +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Więcej informacji" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Katalog domowy" + +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Kosz" + +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Grupowanie" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Uszkodzony odnośnik" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "" +"Nie można otworzyć tego pliku ponieważ jest to uszkodzone dowiązanie " +"symboliczne" + +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Napęd" + +#: app/widgetManager.js:1564 +msgid "Widget preferences" +msgstr "Preferencje widżetów" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "Widżet HTML" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "Widżet GTK" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Użytkownik" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Zezwól" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Ścisłe" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" +"Widżet działa w ściśle wydzielonym środowisku web\n" +"\n" +"• Nie są dozwolone żadne skrypty czy ramki.\n" +"• Dostęp do sieci jest ograniczony do HTTPS.\n" +"• Tylko pliki widżetu oraz jego kod są wykonywane.\n" +"\n" +"To jest najbezpieczniejsza opcja i zalecana do większości widżetów." + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Zrelaksowany" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" +"Widżet ma szersze możliwości sieciowe.\n" +"\n" +"• Mogą zostać załadowane zewnętrzne skrypty, style, obrazy i ramki z " +"zaufanych witryn internetowych.\n" +"• Dostęp do sieci poprzez HTTPS, WebSockets i strumienie multimediów są " +"dozwolone.\n" +"\n" +"Używaj tej opcji tylko w przypadku widżetów, którym ufasz." + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Rozwój" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" +"Widżet działa z przyjaznym dla programistów dostępem do Internetu.\n" +"\n" +"• Dozwolone są połączenia z lokalnymi serwerami programistycznymi " +"(localhost).\n" +"• Dostęp do protokołu HTTP i WebSocket może być dozwolony na potrzeby " +"testów.\n" +"\n" +"Ten tryb jest przeznaczony wyłącznie do programowania i debugowania." + +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Domyślnie" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" +"Widżet działa z predefiniowaną polityką bezpieczeństwa sieci.\n" +"\n" +"Dostęp do sieci i możliwości są ograniczone zgodnie z aktywną polityką." + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "Zezwolić na treści internetowe dla {widgetId}?" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" +"Dodawany widżet może ładować zawartość internetową z Internetu.\n" +"\n" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" +"Ta treść podlega polityce bezpieczeństwa widgetów:\n" +"\n" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" +"Ten widżet, {widgetId}, uruchamia proces w tle na Twoim komputerze.\n" +"\n" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" +"Backend działa z normalnymi uprawnieniami użytkownika, tak jak każda inna " +"uruchamiana aplikacja.\n" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" +"Może uzyskać dostęp do plików, zasobów systemowych i sieci zgodnie z " +"uprawnieniami konta użytkownika.\n" +"\n" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Polecenie:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "Zezwalaj na to tylko w przypadku widżetów, którym pośrednio ufasz." + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "Zezwolić na backend widżetów?" + +#: app/widgetWebContext.js:187 +msgid "Widget Preferences" +msgstr "Preferencje widżetów" + +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" nie jest dostępny" + +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Zainstaluj \"${programName}\", aby włączyć ikony pulpitu i korzystać z " +"funkcji." + +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Wybierz katalog pulpitu" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Nie odnaleziono polecenia" + +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Wybierz program, aby otworzyć wybrane pliki." + +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Zawsze używaj dla tego typu plików" + +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Anuluj" + +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Otwórz" + +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Wyświetlaj ikony na pulpicie GNOME" + +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" + +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Pokaż<>Ukryj" + +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Preferencje" + +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Wyłącz" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Rozmiar ikon" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Ustawia rozmiar ikon na pulpicie." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Katalog domowy" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Wyświetla katalog domowy na pulpicie." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Kosz" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Wyświetl kosz na pulpicie." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Wyrównanie ikon" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Ustaw róg od którego zaczną być umieszczane ikony." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Pokaż dyski zewnętrzne na pulpicie" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Pokaż dyski podłączone do komputera." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Pokaż dyski sieciowe na pulpicie" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Pokaż zamontowane woluminy sieciowe na pulpicie." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Dodaj nowe dyski po przeciwnej stronie ekranu" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Dodając dyski i woluminy do pulpitu, dodaj je po przeciwnej stronie ekranu." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "" +"Pokarz prostokąt w miejscu docelowym podczas Przeciągania i Upuszczania" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Wykonując operację przeciągnij i upuść, zaznacza miejsce w siatce, w którym " +"ikona zostanie umieszczona, za pomocą półprzezroczystego prostokąta." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Sortowanie katalogów specjalnych - Katalog domowy/Kosz/Dyski." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Kiedy porządkujesz Ikony na pulpicie, sortuj i zmień pozycję Katalogu " +"domowego, Kosza oraz Dysków sieciowych i Zewnętrznych" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Zachowaj autorozmieszczanie ikon" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Zawsze zachowaj autorozmieszczanie ikon wg. ostatniego porządku" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Porządek autorozmieszczania" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Ikony autorozmieszczane są na podstawie tej właściwości" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Zachowaj grupowanie ikon" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Zawsze zachowuj grupowanie ikon, podobne typy są grupowane" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Typ plików, którego nie grupować" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Tablica napisów-typów, nie grupuj tych typów" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Dodaj emblemat do odnośników" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Dodaj emblemat w celu identyfikacji odnośników." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Użyj koloru czarnego w tekście etykiety" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Pomaluj tekst etykiety na czarno zamiast na biało. Przydatne w przypadku " +"jasnego tła." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Pokaż nowe ikony na monitorze innym niż główny, jeśli jest podłączony" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Jeśli podłączony jest drugi monitor, na monitorze innym niż główny zostaną " +"umieszczone nowe ikony" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ikony można umieszczać w dowolnym miejscu na pulpicie" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ikony nie znajdują się na prostokątnej siatce, ale można je umieścić w " +"dowolnym miejscu, niezależnie od siatki" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Widżety pulpitu" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "Wyświetla widżety na warstwie pod ikonami, jeśli są zainstalowane" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Ukryj/Pokaż wszystkie okna pulpitu" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Pokazuj ikony na pulpicie, lub ukryj wszystkie" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Skróty programów użytkownika" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Nadpisanie domyślnych skrótów programów ustawionych przez użytkownika" diff --git a/ding/po/pt.po b/ding/po/pt.po new file mode 100644 index 0000000..d5cc5f5 --- /dev/null +++ b/ding/po/pt.po @@ -0,0 +1,2079 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# João Mota , 2023, 2024, 2026. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# LibreTranslate , 2023, 2024, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# RAG , 2025, 2026. +# Lucas Concursero , 2025, 2026. +# Vicente Matheus , 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:10+0000\n" +"Last-Translator: Weblate \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" +"X-Generator: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Sobrepor" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Atalhos" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Editar atalhos..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Editar os Atalhos da Aplicação" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Atalhos Editável apenas quando a Extensão Ativada..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Ajude a traduzir em seu navegador web" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Área de Trabalho" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Arquivos" + +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Ajustes" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Mais" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Configuração do Ecrã" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Configuração do Programa de Ecrã" + +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Pasta da Área de trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Área de trabalho atual:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Configuração dos Ficheiros" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Configurações compartilhadas com arquivos Gnome" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Diversos Ajustamentos" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Tamanho para os ícones da área de trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Tiny" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Pequeno" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Padrão" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Grande" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Alinhamento de novos ícones" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Canto superior esquerdo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Canto superior direito" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Canto inferior esquerdo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Canto inferior direito" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" +"Adicionar novos ícones aos Monitores Secundários primeiro, se disponível" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Ajustar ícones à grelha" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Widgets do ambiente de trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Nova pasta de área de trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Definir uma nova pasta para a área de trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Escolher" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Definir a área de trabalho para ~ /" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Restaurar a pasta padrão da área de trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Restaurar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Realçar a grelha suspensa" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Adicionar emblemas de informação para links, criptografia" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Usar texto escuro nas etiquetas dos ícones" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Mostrar a pasta pessoal na área de trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Mostrar o ícone do lixo na área de trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Mostrar unidades externas na área de trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Mostrar unidades de rede na área de trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Adicionar novas unidades para o lado oposto do desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Ação para Abrir Itens" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Um clique" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Duplo clique" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Mostrar miniaturas da imagem" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Sempre" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Apenas neste computador" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Nunca" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Mostrar um item de menu de contexto para apagar permanentemente" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Mostrar arquivos ocultos" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Abrir pastas ao arrastar o hover" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Sobre..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Tradução" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Máquina traduzida usando LibreTranslate. O usuário verificou e editou no " +"Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Editar traduções" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Verificar, adicionar ou corrigir a tradução no seu navegador web" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Traduzir" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Escolha um aplicativo para abrir {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Abrir itens" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Abrir pasta" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Abrir arquivo" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Erro ao alterar o aplicativo padrão" + +# MT: LibreTranslate +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "Erro ao definir {foo} como aplicação padrão para {mimetype}" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Permissões inválidas no arquivo AppImage" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Este arquivo AppImage tem Permissões incorretas." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Direito Clique para editar Propriedades, então:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Definir Permissões, em" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Outros Acesso" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Somente leitura" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "ou" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Nenhum" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Habilitar opção" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Permitir a Execução do Ficheiro como Programa" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Arquivo de AppImage não confiável" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "" +"Esta aplicação O arquivo de imagem não é confiável, ele não pode ser lançado." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Para ativar o lançamento, clique com o botão direito, então:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "activar" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Permitir o Lançamento" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Nome da pasta" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Nome do ficheiro" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "ESTÁ BEM" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Mudar o Nome" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Automático Ar não está instalado" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Para poder trabalhar com arquivos compactados, instale o rolo de arquivos e/" +"ou gir-1.2-gnome AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Extraindo arquivos" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Compactando arquivos" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Cancelar" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Digite uma senha aqui" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Removendo arquivo parcial '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Criando pasta de destino" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Extraindo arquivos para '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Extração concluída" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "A extração '${fullPathFile}' foi concluída." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Extração cancelada" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "A extração '${fullPathFile}' foi cancelada pelo usuário." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Frase- senha necessária para ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Erro durante a extração" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Compactando arquivos em '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Compressão concluída" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "A compressão de arquivos em '${outputFile}' foi concluída." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Compressão cancelada" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "O arquivo de saída '${outputFile}' já existe." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" +"A compressão de arquivos em '${outputFile}' foi cancelada pelo usuário." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Erro durante a compressão" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Criar arquivo" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Nome do arquivo" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Senha" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Criar" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Compatível com todos os sistemas operacionais." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Senha protegida .zip, deve ser instalado no Windows e Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Arquivos menores, mas somente Linux e Mac." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Arquivos menores, mas deve ser instalado no Windows e Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "A área de trabalho exibida é escrita por outros" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"Os arquivos .deskop não podem ser lançados a partir deste Desktop, uma vez " +"que a pasta Desktop é escrita por outros usuários.\n" +"\n" +"Por favor, verifique as permissões desta pasta de área de trabalho, e " +"certifique-se de que não é escrita por outros." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Ficheiro de Ecrã Quebrado" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Este arquivo .desktop tem erros ou aponta para um programa sem permissões. " +"Não pode ser executado.\n" +"\n" +"Edite o arquivo para definir o programa executável correto." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Permissões inválidas no Ficheiro de Ecrã" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Este arquivo de área de trabalho tem Permissões incorretas." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Arquivo de área de trabalho não confiável" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Este arquivo Desktop não é confiável, ele não pode ser lançado." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Não foi possível abrir Ficheiro" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} não pode abrir arquivos deste Tipo!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Pasta de área de trabalho A alteração falhou" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "A nova pasta de área de trabalho é uma ligação simbólica" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "A nova pasta de área de trabalho não existe ou não é uma pasta!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Pasta de área de trabalho alterada" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Mudando para a nova área de trabalho..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Ícones da área de trabalho" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Atualizar área de trabalho" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Adicionar Widget" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Monitorar o buffer de quadros O escalonamento não está activo" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Vários monitores com diferentes configurações de zoom, recomendam a escala " +"de framebuffer por monitor.\n" +"\n" +"Habilitar na Configuração do Mutter Dconf" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Vários monitores com diferentes configurações de zoom.\n" +"\n" +"Activar o escalonamento do 'framebuffer' por monitor nas Definições do " +"Mutter Dconf?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Activar" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Não É Possível Mostrar o Ecrã" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"A pasta Desktop {desktop} é uma Ligação Simbólica\n" +"\n" +"Por favor, defina a pasta de área de trabalho para uma pasta real" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"A pasta Desktop {desktop} não existe, ou não é uma pasta\n" +"\n" +"Verifique sua instalação xdg-utils e defina a pasta correta do desktop" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME Ficheiros não encontrados" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "O GNOME O aplicativo de arquivos é exigido pelo Gtk4 Desktop Icons NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Não existe nenhum Gestor de Ficheiros por omissão" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "" +"Não existe nenhuma aplicação que lide com o tipo MIME \"inode/diretório\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Os Ficheiros Gnome não estão registados como Gestor de Ficheiros" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"O aplicativo Arquivos Gnome não está programado para abrir Pastas!\n" +"Verifique sua instalação xdg-utils\n" +"Verificar os Ficheiros Gnome .desktop Instalação do ficheiro" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Limpar a selecção actual antes da nova pesquisa" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Procurar arquivos na área de trabalho" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Nova Pasta" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Falha na criação da pasta" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Não foi possível criar a pasta" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Não foi possível abrir a área de trabalho nos arquivos Gnome" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Janela de Preferências está aberta" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Esta janela está aberta. Por favor, mude para a janela activa." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Configurações" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Erro na Criação de Modelos" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Não foi possível criar o documento" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Nome" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Nome Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Tempo modificado" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Tipo" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Tamanho" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Manter Organizado.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Manter empilhado por tipo.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Ordenar Casa/Drives/Trash.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Mudar a área de trabalho" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Restaurar área de trabalho padrão" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Configuração do Ícone do Ambiente de Trabalho" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Mostrar os Atalhos" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Novo Documento" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Colar" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Desfazer" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Refazer" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Selecionar tudo" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Organizar os Ícones" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Organizar por.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Mostrar a área de trabalho em {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Abrir em {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Editar ferramentas" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Menu Shell.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Falhou Fazer o SymLink" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Não foi possível criar uma ligação simbólica" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "A cópia/move falhou" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} Não existe" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Escolha a Ação para Arquivos" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Mover" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Copiar" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Ligação" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Pasta" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Ficheiro" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Falha ao abrir o arquivo" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Não há aplicativo instalado para abrir arquivos \"{fo}\"." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Nova pasta com {0} item" +msgstr[1] "Nova pasta com {0} itens" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Abrir tudo..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Lançar" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Abrir com {foo}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Abrir" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Extrair Aqui" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Extrair para..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Abrir com..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Abrir tudo com outra aplicação..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Lançar usando placa gráfica integrada" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Pilhar este tipo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Desmontar este tipo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Executar como um programa" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Programas" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Cortar" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Mover para..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Copiar para..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Mudar o Nome.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Criar uma Ligação..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Comprimir a pasta {0}" +msgstr[1] "Comprimir pastas {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Comprimir o ficheiro {0}" +msgstr[1] "Compactar arquivos {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "E- mail para..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Enviar para o Dispositivo Móvel" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Mover para o Lixo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Apagar permanentemente" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Não permitir o lançamento" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Lixo Vazio" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Ejetar" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Desmontar" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Propriedades comuns" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Propriedades" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Mostrar tudo em {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Mostrar em {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Abrir em {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Abrir Item" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Extração cancelada" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Não foi possível extrair Ficheiro, sem pasta de destino" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Selecionar destino" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Selecionar" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Não foi possível enviar um diretório" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "" +"A seleção inclui um diretório, comprimir para um arquivo .zip primeiro?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Erro de E- mail" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Incapaz de encontrar o comando zip, por favor instale o programa" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Ocorreu um erro ao criar um arquivo zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Não foi possível encontrar xdg- email, por favor instale o programa" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Ocorreu um erro ao enviar os ficheiros por e- mail" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Não foi possível abrir a pasta de trabalho" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Não foi possível abrir na Consola do Gnome" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Instale o console Gnome ou outro programa de terminal" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Não foi possível abrir {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Instalar por favor {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Copiar Cancelar" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Não foi possível copiar arquivos, nenhuma pasta de destino" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Mover cancelado" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Não foi possível mover arquivos, nenhuma pasta de destino" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ não pode abrir arquivos deste Tipo!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Consola" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Atalho por Omissão:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Digite novo..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modificador + Tecla (por exemplo, Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Reiniciar para Padrão" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Sem Acelerador" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Atalhos do Sistema" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Atalhos de teclado definidos pelo sistema comum" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Atalhos locais" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Atalhos do Teclado da Aplicação" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Atalhos globais" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Atalhos do Teclado do Sistema" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Atalhos do Teclado" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Repor os Atalhos" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Reiniciar todos os atalhos para os padrões" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Reiniciar tudo..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Mostrar o Ecrã nos Ficheiros" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Abrir no Terminal" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Mudar o Fundo" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Alterar configurações de visualização" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Mudar a Configuração do Ícone do Ambiente de Trabalho" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Limpar os Ícones" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Manter Organizado" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Manter empilhado" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Ordenar pastas especiais" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Organizar ícones pelo nome" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Organizar os Ícones pelo Nome Descente" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Organizar os Ícones por Tempo Modificado" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Organizar os Ícones Por Tipo" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Organizar os Ícones pelo Tamanho" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Procurar os Ficheiros" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Atualizar área de trabalho" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Mostrar os Ficheiros Ocultos" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Desmarcar Tudo" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Antevisão" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Adicionar Widget" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Escolher o Ícone à Esquerda" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Escolher o Ícone à Direita" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Escolher o Ícone para Cima" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Escolher o Ícone para Baixo" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Mostrar o Menu" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Mostrar o Menu Fundo da Shell" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Criar um Atalho do Ecrã" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Entrada de texto Acceles ligar" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Entrada de Texto Acelera Desligar" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Mostrar atalho Visualizador" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Mostrar ou Ocultar Ícones de Ecrã" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Mais informações" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Principal" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Lixo" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Pilha" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Ligação Quebrada" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Não foi possível abrir este arquivo porque ele é um link quebrado" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Dirija" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Preferências" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Usuário" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Permitir" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Estrito" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Relaxado" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Desenvolvimento" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Padrão" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Comando:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Preferências" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" não está disponível" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Instalar \"${programName}\" para habilitar os ícones do Desktop para " +"executar essas ações." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Escolher pasta de área de trabalho" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Comando não encontrado" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Escolha uma aplicação para abrir os ficheiros seleccionados." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Usar sempre para este tipo de ficheiro" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Cancelar" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Abra" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Exibir ícones na área de trabalho do GNOME" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"desktop; icons; arquivos; pastas; gerenciador; organizar; esconder; mostrar; " +"launcher; atalhos;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Mostrar <>Esconder" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Preferências" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Desactivar" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Tamanho do ícone" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Define o tamanho dos ícones da área de trabalho." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Mostrar pasta pessoal" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Mostra a pasta pessoal na área de trabalho." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Mostrar o ícone do lixo" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Mostra o ícone do lixo na área de trabalho." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Novos ícones começam o canto" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Defina o canto de onde os ícones começarão a ser colocados." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Mostrar unidades externas na área de trabalho" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Mostrar as unidades de disco conectadas ao computador." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Mostrar unidades de rede na área de trabalho" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Mostrar os volumes de rede montados na área de trabalho." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Adicione novas unidades para o lado oposto da tela" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Ao adicionar unidades e volumes ao desktop, adicione-os ao lado oposto da " +"tela." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Mostra um retângulo no local de destino durante o DnD" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Ao fazer uma operação Drag'n'Drop, marca o lugar na grade onde o ícone será " +"colocado com um retângulo semitransparente." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Ordenar pastas especiais - Home / Lixo Drives." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Ao organizar Ícones na área de trabalho, para ordenar e alterar a posição da " +"Casa, Lixo e montada Rede ou Unidades Externas" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Manter os Ícones Organizados" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Manter sempre os Ícones Organizado pela última ordem organizada" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Organizar Ordem" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Ícones Organizados por esta propriedade" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Manter os Ícones Empilhados" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Sempre manter ícones empilhados, tipos semelhantes são agrupados" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Tipo de arquivos para não empilhar" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Um Array de tipos de strings, Não empilhe estes tipos de arquivos" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Adicionar um emblema aos links" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Adicione um emblema para permitir identificar links suaves." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Usar preto para o texto do rótulo" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Pinte o texto do rótulo em preto em vez de branco. Útil ao usar fundos de " +"luz." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Mostrar novos ícones no monitor não primário se conectado" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Se um segundo monitor estiver conectado, novos ícones serão colocados no " +"monitor não primário" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ícones podem ser posicionados em qualquer lugar no Desktop" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ícones não estão em uma grade retangular, mas podem ser postados em qualquer " +"lugar independente da grade" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Widgets do ambiente de trabalho" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Esconder/Mostrar todas as janelas da área de trabalho" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Mostra os ícones na área de trabalho ou oculta- os todos" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Atalhos de Aplicação do Utilizador" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Substituir os atalhos por omissão definidos pelo Utilizador" diff --git a/ding/po/pt_BR.po b/ding/po/pt_BR.po new file mode 100644 index 0000000..e200504 --- /dev/null +++ b/ding/po/pt_BR.po @@ -0,0 +1,2010 @@ +# Brazilian Portuguese 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. +# Enrico Nicoletto , 2018. +# Rafael Fontenelle , 2018-2019. +# Fernando Alves , 2020. +# Diolinux , 2021. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# LibreTranslate , 2023, 2024, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# Fernando Lopes <118869201+plasmus777@users.noreply.github.com>, 2024, 2026. +# Jhonny Rosa , 2024, 2026. +# Allan Novaes Lima , 2024, 2026. +# Lúcia , 2025, 2026. +# Mateus Liberale Gomes , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-20 21:36+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Portuguese (Brazil) \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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Substituir" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "Personalize a aparência dos ícones da área de trabalho com CSS" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" +"Aviso: Se feito incorretamente, este procedimento pode danificar a extensão" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "Editar arquivo de sobreposição de CSS..." + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "Aplique as alterações de CSS agora" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "Recarregue o CSS para aplicar as alterações imediatamente" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Atalhos" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Editar atalhos..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Editar os Atalhos da Aplicação" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Atalhos Editável apenas quando a Extensão Ativada..." + +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Ajude a traduzir em seu navegador" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Área de trabalho" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Arquivos" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Ajustamentos" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Mais" + +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Configurações da Área de Trabalho" + +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Configurações para o Programa de Área de Trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Pasta de área de trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Área de trabalho atual:" + +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Configurações de Arquivos" + +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Configurações compartilhadas com Gnome Files" + +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Ajustes Diversos" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Tamanho para os ícones da área de trabalho" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Muito pequeno" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Pequeno" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Padrão" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Grande" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Alinhamento de novos ícones" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Canto superior esquerdo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Canto superior direito" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Canto inferior esquerdo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Canto inferior direito" + +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" +"Adicionar novos ícones em Monitores Secundários primeiro, se disponíveis" + +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Alinhar ícones à grade" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Integrações da área de trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Nova pasta de área de trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Definir uma nova pasta para a área de trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Escolher" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Definir a área de trabalho para ~ /" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Restaurar a pasta padrão da área de trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Restaurar" + +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Destacar local na grade ao mover" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Adicionar emblemas de informação para links, criptografia" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Usar texto escuro nas etiquetas dos ícones" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Mostrar a pasta pessoal na área de trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Mostrar o ícone do lixo na área de trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Mostrar unidades externas na área de trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Mostrar unidades de rede na área de trabalho" + +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Adicionar novas unidades no lado oposto da área de trabalho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Ação para Abrir Itens" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Clique único" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Clique duplo" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Mostrar miniaturas" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Sempre" + +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Apenas neste computador" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Nunca" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Mostrar a opção de excluir permanentemente no menu de contexto" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Mostrar arquivos ocultos" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Abrir pastas ao arrastar o hover" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Sobre..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Tradução" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Máquina traduzida usando LibreTranslate. O usuário verificou e editou no " +"Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Editar traduções" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Verificar, adicionar ou corrigir a tradução no seu navegador web" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Traduzir" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Escolha um aplicativo para abrir {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Abrir itens" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Abrir pasta" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Abrir arquivo" + +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Erro ao alterar o aplicativo padrão" + +# MT: LibreTranslate +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "Erro ao definir {foo} como aplicação padrão para {mimetype}" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Permissões inválidas no arquivo AppImage" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Este arquivo AppImage tem Permissões incorretas." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Direito Clique para editar Propriedades, então:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Definir Permissões, em" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Outros Acesso" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Somente leitura" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "ou" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Nenhum" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Habilitar opção" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Permitir a Execução do Ficheiro como Programa" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Arquivo de AppImage não confiável" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "" +"Esta aplicação O arquivo de imagem não é confiável, ele não pode ser lançado." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Para ativar o lançamento, clique com o botão direito, então:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "activar" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Permitir iniciar" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Nome da pasta" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Nome do arquivo" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "OK" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Mudar o Nome" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Automático Ar não está instalado" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Para poder trabalhar com arquivos compactados, instale o rolo de arquivos e/" +"ou gir-1.2-gnome AutoAr" + +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Extraindo arquivos" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Compactando arquivos" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Cancelar" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Digite uma senha aqui" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Removendo arquivo parcial '${outputFile}'" + +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Criando pasta de destino" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Extraindo arquivos para '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Extração concluída" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "A extração '${fullPathFile}' foi concluída." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Extração cancelada" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "A extração '${fullPathFile}' foi cancelada pelo usuário." + +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Senha necessária para ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Erro durante a extração" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Compactando arquivos em '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Compressão concluída" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "A compressão de arquivos em '${outputFile}' foi concluída." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Compressão cancelada" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "O arquivo de saída '${outputFile}' já existe." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" +"A compressão de arquivos em '${outputFile}' foi cancelada pelo usuário." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Erro durante a compressão" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Criar arquivo" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Nome do arquivo" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Senha" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "Criar" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Compatível com todos os sistemas operacionais." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Senha protegida .zip, deve ser instalado no Windows e Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Arquivos menores, mas somente Linux e Mac." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Arquivos menores, mas deve ser instalado no Windows e Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "A área de trabalho exibida é escrita por outros" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"Os arquivos .deskop não podem ser lançados a partir deste Desktop, uma vez " +"que a pasta Desktop é escrita por outros usuários.\n" +"\n" +"Por favor, verifique as permissões desta pasta de área de trabalho, e " +"certifique-se de que não é escrita por outros." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Ficheiro de Ecrã Quebrado" + +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Este arquivo .desktop possui erros ou aponta para um programa sem " +"permissões. O arquivo não pode ser executado.\n" +"\n" +"Edite o arquivo para definir o programa executável correto." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Permissões inválidas no Ficheiro de Ecrã" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Este arquivo de área de trabalho tem Permissões incorretas." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Arquivo de área de trabalho não confiável" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Este arquivo Desktop não é confiável, ele não pode ser lançado." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Não foi possível abrir Ficheiro" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} não pode abrir arquivos deste Tipo!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Pasta de área de trabalho A alteração falhou" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "A nova pasta de área de trabalho é uma ligação simbólica" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "A nova pasta de área de trabalho não existe ou não é uma pasta!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Pasta de área de trabalho alterada" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Mudando para a nova área de trabalho..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Ícones da área de trabalho" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +msgid "Back to Desktop" +msgstr "Voltar à área de trabalho" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +#, fuzzy +msgid "Toggle Widget Grid" +msgstr "Alternar camada de widget" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Adicionar Widget" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Monitorar o buffer de quadros O escalonamento não está activo" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Vários monitores com diferentes configurações de zoom, recomendam a escala " +"de framebuffer por monitor.\n" +"\n" +"Habilitar na Configuração do Mutter Dconf" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Vários monitores com diferentes configurações de zoom.\n" +"\n" +"Activar o escalonamento do 'framebuffer' por monitor nas Definições do " +"Mutter Dconf?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Activar" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Não É Possível Mostrar o Ecrã" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"A pasta Desktop {desktop} é uma Ligação Simbólica\n" +"\n" +"Por favor, defina a pasta de área de trabalho para uma pasta real" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"A pasta Desktop {desktop} não existe, ou não é uma pasta\n" +"\n" +"Verifique sua instalação xdg-utils e defina a pasta correta do desktop" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME Ficheiros não encontrados" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "O GNOME O aplicativo de arquivos é exigido pelo Gtk4 Desktop Icons NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Não existe nenhum Gestor de Ficheiros por omissão" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "" +"Não existe nenhuma aplicação que lide com o tipo MIME \"inode/diretório\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Os Ficheiros Gnome não estão registados como Gestor de Ficheiros" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"O aplicativo Arquivos Gnome não está programado para abrir Pastas!\n" +"Verifique sua instalação xdg-utils\n" +"Verificar os Ficheiros Gnome .desktop Instalação do ficheiro" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Limpar a selecção actual antes da nova pesquisa" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Procurar arquivos na área de trabalho" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Nova pasta" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Falha na criação da pasta" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Não foi possível criar a pasta" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Não foi possível abrir a área de trabalho nos arquivos Gnome" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Janela de Preferências está aberta" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Esta janela está aberta. Por favor, mude para a janela activa." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Configurações" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Erro na Criação de Modelos" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Não foi possível criar o documento" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Nome" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Nome Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Tempo modificado" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Tipo" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Tamanho" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Manter Organizado.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Manter empilhado por tipo.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Ordenar Casa/Drives/Trash.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Mudar a área de trabalho" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Restaurar área de trabalho padrão" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Configuração do Ícone do Ambiente de Trabalho" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Mostrar os Atalhos" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Novo documento" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Colar" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Desfazer" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Refazer" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Selecionar tudo" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Ordenar Ícones" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Organizar por.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Mostrar a área de trabalho em {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Abrir em {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Editar Widget" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Menu Shell.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Falhou Fazer o SymLink" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Não foi possível criar uma ligação simbólica" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "A cópia/move falhou" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} Não existe" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Escolha a Ação para Arquivos" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Mover" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Copiar" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Ligação" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Pasta" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Ficheiro" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Falha ao abrir o arquivo" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Não há aplicativo instalado para abrir arquivos \"{fo}\"." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Nova pasta com {0} item" +msgstr[1] "Nova pasta com {0} itens" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Abrir todos..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Lançar" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Abrir com {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Abrir" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Extrair aqui" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Extrair para…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Abrir com..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Abrir tudo com outra aplicação..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Lançar usando placa gráfica integrada" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Pilhar este tipo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Desmontar este tipo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Executar como um programa" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Scripts" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Recortar" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Mover para..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Copiar para..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Renomear…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Criar uma Ligação..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Comprimir a pasta {0}" +msgstr[1] "Comprimir pastas {0}" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Comprimir {0} arquivo" +msgstr[1] "Comprimir {0} arquivos" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "E- mail para..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Enviar para o Dispositivo Móvel" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Mover para a lixeira" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Excluir permanentemente" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Não permitir o lançamento" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Esvaziar lixeira" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Ejetar" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Desmontar" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Propriedades comuns" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Propriedades" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Mostrar tudo em {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Mostrar em {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Abrir em {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Abrir Item" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Extração cancelada" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Não foi possível extrair Ficheiro, sem pasta de destino" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Selecionar destino" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Selecionar" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Não é possível enviar um diretório por email" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "" +"A seleção inclui um diretório, comprimir para um arquivo .zip primeiro?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Erro de E- mail" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Incapaz de encontrar o comando zip, por favor instale o programa" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Ocorreu um erro ao criar um arquivo zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Não foi possível encontrar xdg- email, por favor instale o programa" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Ocorreu um erro ao enviar os ficheiros por e- mail" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Não foi possível abrir a pasta de trabalho" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Não foi possível abrir na Consola do Gnome" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Instale o console Gnome ou outro programa de terminal" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Não foi possível abrir {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Instalar por favor {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Copiar Cancelar" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Não foi possível copiar arquivos, nenhuma pasta de destino" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Mover cancelado" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Não foi possível mover arquivos, nenhuma pasta de destino" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ não pode abrir arquivos deste Tipo!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Consola" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Atalho por Omissão:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Digite novo..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modificador + Tecla (por exemplo, Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Reiniciar para Padrão" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Sem Acelerador" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Atalhos do Sistema" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Atalhos de teclado definidos pelo sistema comum" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Atalhos locais" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Atalhos do Teclado da Aplicação" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Atalhos globais" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Atalhos do Teclado do Sistema" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Atalhos do Teclado" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Repor os Atalhos" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Reiniciar todos os atalhos para os padrões" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Reiniciar tudo..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Mostrar o Ecrã nos Ficheiros" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Abrir no terminal" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Mudar o Fundo" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Alterar configurações de visualização" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Mudar a Configuração do Ícone do Ambiente de Trabalho" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Limpar os Ícones" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Manter Organizado" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Manter empilhado" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Ordenar pastas especiais" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Organizar ícones pelo nome" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Organizar os Ícones pelo Nome Descente" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Organizar os Ícones por Tempo Modificado" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Organizar os Ícones Por Tipo" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Organizar os Ícones pelo Tamanho" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Procurar os Ficheiros" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Atualizar área de trabalho" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Mostrar os Ficheiros Ocultos" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Desmarcar Tudo" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Antevisão" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "Alternar camada de widget" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Adicionar Widget" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Escolher o Ícone à Esquerda" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Escolher o Ícone à Direita" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Escolher o Ícone para Cima" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Escolher o Ícone para Baixo" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Mostrar o Menu" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Mostrar o Menu Fundo da Shell" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Criar um Atalho do Ecrã" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Entrada de texto Acceles ligar" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Entrada de Texto Acelera Desligar" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Mostrar atalho Visualizador" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Mostrar ou Ocultar Ícones de Ecrã" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Mais informações" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Pasta pessoal" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Lixo" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Pilha" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Ligação Quebrada" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Não foi possível abrir este arquivo porque ele é um link quebrado" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Dirija" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +msgid "Widget preferences" +msgstr "Configurações do widget" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "HTML widget" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "GTK widget" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Usuário" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Permitir" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Estrito" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Expandido" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Desenvolvimento" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Padrão" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Comando:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +msgid "Widget Preferences" +msgstr "Preferências do Widget" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" não está disponível" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Instalar \"${programName}\" para habilitar os ícones do Desktop para " +"executar essas ações." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Escolher pasta de área de trabalho" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Comando não encontrado" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Escolha uma aplicação para abrir os ficheiros seleccionados." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Usar sempre para este tipo de ficheiro" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Cancelar" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Abra" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Exibir ícones na área de trabalho do GNOME" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"desktop; icons; arquivos; pastas; gerenciador; organizar; esconder; mostrar; " +"launcher; atalhos;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Mostrar <>Esconder" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Preferências" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Desactivar" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Tamanho do ícone" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Define o tamanho para os ícones da área de trabalho." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Mostrar pasta pessoal" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Mostra a pasta pessoal na área de trabalho." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Mostrar ícone da lixeira" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Mostra o ícone da lixeira na área de trabalho." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Novos ícones começam o canto" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Escolha o canto da tela onde os ícones ficarão inicialmente" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Mostrar unidades externas na área de trabalho" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Mostrar as unidades de discos conectadas ao computador." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Mostrar unidades de rede na área de trabalho" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Mostrar os volumes de rede montados na área de trabalho." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Mostrar novos dispositivos no lado oposto da tela" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Ao mostrar os discos e volumes montados, posicioná-los no lado oposto da " +"tela." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "" +"Mostrar um retângulo na pasta de destino ao arrastar e soltar um arquivo" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Ao arrastar, destacar com um retângulo semitransparente o local onde o ícone " +"ficará alocado." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Ordenar pastas especiais - Home/Lixeira/Drives." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Quando organizando ícones no desktop, ordene e modifique a posição de Home, " +"LIxeira e redes montadas ou Drives externos" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Manter Ícones Ordenados" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "" +"Sempre mantenha ícone ordenados de acordo com a última forma de organizar" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Organizar ordem" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Ícones ordenados por esta propriedade" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Manter os Ícones Empilhados" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Sempre manter ícones empilhados, tipos semelhantes são agrupados" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Tipo de arquivos para não empilhar" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Um Array de tipos de strings, Não empilhe estes tipos de arquivos" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Adicionar um emblema aos links" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Adicione um emblema para permitir identificar links suaves." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Usar preto para o texto do rótulo" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Pinte o texto do rótulo em preto em vez de branco. Útil ao usar fundos de " +"luz." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Mostrar novos ícones no monitor não primário se conectado" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Se um segundo monitor estiver conectado, novos ícones serão colocados no " +"monitor não primário" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ícones podem ser posicionados em qualquer lugar no Desktop" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ícones não estão em uma grade retangular, mas podem ser postados em qualquer " +"lugar independente da grade" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Integrações da área de trabalho" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "Exibe os widgets em uma camada abaixo dos ícones, se instalados" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Esconder/Mostrar todas as janelas da área de trabalho" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Mostra os ícones na área de trabalho ou oculta- os todos" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Atalhos de Aplicação do Utilizador" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Substituir os atalhos por omissão definidos pelo Utilizador" diff --git a/ding/po/ro.po b/ding/po/ro.po new file mode 100644 index 0000000..b2c5a49 --- /dev/null +++ b/ding/po/ro.po @@ -0,0 +1,2007 @@ +# Romanian 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. +# Olteanu Laurențiu , 2021. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-20 22:50+0000\n" +"Last-Translator: Weblate \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=2; plural=(n != 1);\n" +"X-Generator: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Suprascriere" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Scurtături" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Editare scurtături..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Editează scurtături de aplicație" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Scurtături Editabil numai atunci când extensia este activată..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Ajutor traduce în browser-ul web" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Birou" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Fișiere" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Tweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Mai mult" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Configurări birou" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Configurări pentru programul de birou" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Dosarul biroului" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Biroul curent:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Configurări fișiere" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Configurări comune fișierelor Gnome" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Diverse Tweaks" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Dimensiune pictograme desktop" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Minuscule" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Mici" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Normale" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Mari" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Aliniere pictograme noi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Colțul din stânga sus" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Colțul din dreapta sus" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Colțul din stânga jos" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Colțul din dreapta jos" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" +"Adăugați mai întâi icoane noi la Monitoarele secundare, dacă sunt disponibile" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Snap iconițe în grilă" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "Arată biroul în fișiere" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Dosar de birou nou" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Setează un dosar nou pentru desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Alege" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Setează biroul înapoi la ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Restaurează dosarul de birou implicit" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Restaurează" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Evidențiază grila de picătură" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Adaugă embleme de informații pentru link-uri, criptare" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Utilizați textul închis în etichetele de pictogramă" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Arată dosarul personal de pe birou" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Arată pictograma gunoiului pe desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Arată unități externe pe desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Arată unități de rețea pe desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Adaugă unități noi în partea opusă a biroului" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Acţiune pentru deschiderea elementelor" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Click unic" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Dublu click" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Arată miniaturi imagini" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Întotdeauna" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Doar pe acest computer" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Niciodată" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Arată un meniu de context pentru ștergere definitivă" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Arată fișierele ascunse" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Deschide folderele pe hover drag" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Despre..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Traducere" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Masina tradusa folosind libreTranslate. Utilizator verificat și editat pe " +"Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Editează traduceri" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Verificați, adăugați sau corectați traducerea în browserul dvs. web" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Tradu" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Alegeți o aplicație de deschis {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Deschide elemente" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Deschide dosarul" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Deschide fișierul" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Eroare la modificarea aplicației implicite" + +# MT: LibreTranslate +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" +"Eroare în timpul setării {foo} ca aplicație implicită pentru {mimetype}" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Permisiuni nevalabile pe fișierul AppImage" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Acest fișier AppImage are Permisiuni incorecte." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Faceți clic dreapta pentru a edita Proprietăți, apoi:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Setați permisele, în" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Altele Acces" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Numai citire" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "sau" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Niciuna" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Activează opțiunea" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Permite executarea fișierului ca program" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Fișier AppImage neîncrezător" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "" +"Această aplicație Fișierul imagine nu este de încredere, nu poate fi lansat." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Pentru a activa lansarea, click dreapta, apoi:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "permite" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Permite lansarea" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Nume dosar" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Nume fișier" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "Ok" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Redenumește" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Automat Ar nu este instalat" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Pentru a putea lucra cu fișiere comprimate, instalați file-roller și/sau " +"gir-1.2-gnome AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Extragerea fișierelor" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Fișiere compresive" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Anulează" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Introduceți o parolă aici" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Eliminarea fișierului parțial '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Crearea dosarului de destinație" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Extragerea fișierelor în '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Extracția finalizată" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Extragerea '${fullPathFile}' a fost finalizată." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Extragere anulată" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Extragerea '${fullPathFile}' a fost anulată de către utilizator." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Fraza de pas necesară pentru ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Eroare în timpul extracției" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Compresie fișiere în '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Compresie finalizată" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Fişierele comprimate în '${outputFile}' au fost completate." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Compresie anulată" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Fișierul de ieșire '${outputFile}' există deja." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" +"Compresarea fișierelor în '${outputFile}' a fost anulată de către utilizator." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Eroare în timpul compresiei" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Creează arhivă" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Numele arhivei" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Parolă" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "Creează" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Compatibil cu toate sistemele de operare." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Parola protejat .zip, trebuie să fie instalate pe Windows și Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Arhive mai mici, dar numai Linux şi Mac." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Arhive mai mici, dar trebuie instalate pe Windows și Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Biroul afişat este scris de alţii" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"Fișierele .deskop nu pot fi lansate de pe acest Desktop deoarece dosarul de " +"birou este scris de alți utilizatori.\n" +"\n" +"Verificați permisiunile acestui dosar de birou și asigurați-vă că nu este " +"scris de alții." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Fișier de birou spart" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Acest fișier .desktop are erori sau puncte la un program fără permisiuni. Nu " +"poate fi executat.\n" +"\n" +"Editează fișierul pentru a seta programul executabil corect." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Permisiuni nevalabile pe fișierul biroului" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Acest fișier de birou are Permisiuni incorecte." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Fișier de birou neîncredere" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Acest fișier Desktop nu este de încredere, nu poate fi lansat." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Nu se poate deschide Fișier" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} nu se pot deschide fișiere de acest tip!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Dosarul biroului Modificare eșuată" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Noul dosar de birou este o legătură simbolică" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Noul dosar de birou nu există sau nu este un dosar!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Dosar de birou modificat" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Comutare pe noul birou..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Pictograme de birou" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Actualizează biroul" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Adaugă widget" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Comment Scalarea nu este activată" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Monitoare multiple cu diferite setări zoom, recomanda per monitor " +"cadrubuffer scalare.\n" +"\n" +"Vă rugăm să activați în Mutter Dconf Setări" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Monitor multiple cu diferite setări zoom.\n" +"\n" +"Activează scalarea pe monitor a ramelor în Mutter Dconf Setări?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Activează" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Nu pot arăta biroul" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Dosarul biroului {desktop} este o legătură simbolică\n" +"\n" +"Setează dosarul de birou la un dosar real" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Dosarul de birou {desktop} nu există sau nu este un director\n" +"\n" +"Verificați instalarea xdg-utils și setați dosarul de birou corect" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME Fișiere negăsit" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "" +"GNOME Aplicația fișierelor este necesară de către Gtk4 Desktop Icons NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Nu există niciun administrator de fișiere implicit" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "" +"Nu există nicio aplicație care să se ocupe de tipul mime \"inode/dosar\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Fișierele Gnome nu sunt înregistrate ca manager de fișiere" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Aplicaţia Gnome Files nu este programată pentru a deschide Foldere!\n" +"Verificați instalarea xdg-utils\n" +"Verificați fișierele Gnome .desktop Instalare fișiere" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Șterge selecția curentă înainte de o căutare nouă" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Caută fișiere pe Desktop" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Director nou" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Crearea dosarului a eșuat" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Nu s- a putut crea dosarul" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Nu s-a putut deschide biroul în fișiere Gnome" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Preferințe Fereastra este deschisă" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Fereastra asta e deschisă. Vă rugăm să comutați la fereastra activă." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Setări" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Eroare de creare șablon" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Imposibil de creat documentul" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Nume" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Denumire Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Timp modificat" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Tip" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Dimensiune" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Păstrați aranjat.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Păstrați stiva de tip.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Sortare casă/Drives/Trash.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Schimbă biroul" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Restaurează biroul implicit" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Configurări pictogramă de birou" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Arată scurtături" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Document nou" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Lipește" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Anulează" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Refă" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Selectează tot" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Aranjează pictogramele" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Aranjează.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Arată biroul {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Deschide în {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Editează widget-urile" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell Menu.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "A eșuat SymLink" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Nu s-a putut crea o legătură simbolică" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Copiază/mișcă eșuată" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} Nu există" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Alegeți acțiunea pentru fișiere" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Mişcă" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Copiază" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Legătură" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Dosar" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Fișier" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Deschiderea fișierului a eșuat" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "" +"Nu există nicio aplicație instalată pentru a deschide fișiere \"{fo}\"." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Dosar nou cu {0} element" +msgstr[1] "Dosar nou cu {0} elemente" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Deschide tot..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Lansare" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Deschide cu {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Deschide" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Extrage aici" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Extrage în..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Deschide cu..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Deschide tot cu altă aplicație..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Lansare folosind cardul grafic integrat" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Stiva acest tip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Deblochează acest tip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Rulează ca un program" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Scripturi" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Taie" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Mutare la..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Copiază la..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Redenumește…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Creează legătură..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Compresă {0}] dosar" +msgstr[1] "Compresă {0}] dosar" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Comprimă {0} fișier" +msgstr[1] "Comprimă {0} fișiere" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "E-mail la..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Trimite la dispozitivul mobil" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Mută la coșul de gunoi" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Șterge definitiv" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Nu permite lansarea" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Golește coșul de gunoi" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Scoate" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Demontează" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Proprietăți generale" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Proprietăți" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Afișează toate în {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Afișează în {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Deschide în {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Deschide elementul" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Extragere anulată" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Imposibil de extras Fișier, niciun dosar de destinație" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Alegeți destinația" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Selectează" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Nu se poate trimite un dosar prin email" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Selecţia include un director, comprima la un fişier .zip primul?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Eroare poștală" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Imposibil de găsit comanda zip, vă rugăm să instalaţi programul" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "A fost o eroare în crearea unei arhive zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Imposibil de găsit xdg-email, vă rugăm să instalaţi programul" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "A existat o eroare în e-mailarea fișierelor" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Nu se poate deschide directorul de lucru" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Imposibil de deschis în consola Gnome" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Instalează Gnome Console sau alt program terminal" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Imposibil de deschis {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Instalați {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Copiere anulată" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Imposibil de copiat Fișiere, fără dosar destinație" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Mutare anulată" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Imposibil de mutat Fișiere, fără dosar destinație" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ nu poate deschide fișiere de acest tip!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Consolă" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Scurtătură implicită:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Tip nou..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modulator + Cheie (de exemplu Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Reinițializează" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Fără accelerator" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Scurtături de sistem" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Scurtături de tastatură definite în sistem comun" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Scurtături locale" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Scurtături tastatură aplicație" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Scurtături globale" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Scurtături tastatură de sistem" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Scurtături tastatură" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Resetează scurtăturile" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Resetează toate comenzile rapide către implicite" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Resetează tot..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Arată biroul în fișiere" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Deschide în terminal" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Schimbă fundalul" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Schimbă setările de afișare" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Schimbă setările pictogramă de birou" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Curăță pictogramele" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Păstrați aranjat" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Păstrați stivuire" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Sortează dosarele speciale" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Aranjează pictograme după nume" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Aranjează icoane prin coborârea numelui" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Aranjează pictograme după ora modificată" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Aranjează pictograme Prin amabilitate" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Aranjează pictograme după mărime" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Găsește fișiere" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Actualizează biroul" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Afișează fișierele ascunse" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Deselectează toate" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Previzualizare" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Adaugă widget" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Alegeți pictograma stângă" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Alegeți corect pictograma" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Alegeți pictograma sus" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Alege pictograma jos" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Arată meniul" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Afișează meniul de fundal Shell" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Creează scurtătură de birou" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Accesări text Activează" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "@ info: whatsthis" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Arată scurtătură Vizualizator" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Afișează sau ascunde pictogramele biroului" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Mai multe informații" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Acasă" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Gunoi" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Stack" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Legătură ruptă" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Nu se poate deschide acest fișier pentru că este un Symlink rupt" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Condu" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Preferințe" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Utilizator" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Permite" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Strict" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Relaxat" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Dezvoltare" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Implicit" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Comandă:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Preferințe" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" nu este disponibil" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Instalați \"${programName}\" pentru a permite pictogramelor de birou să " +"efectueze aceste acțiuni." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Alegeți dosarul biroului" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Comanda nu a fost găsită" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Alegeți o aplicație pentru a deschide fișierele selectate." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Utilizați întotdeauna pentru acest tip de fișier" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Anulează" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Deschide" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Afișează pictograme pe biroul GNOME" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "desktop;icoane;file;dosare;manager;aranjat;ascunde;arată;lansare;scurtături;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Arată < > Ascunde" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Preferințe" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Dezactivează" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Dimensiune pictograme" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Seteză dimensiunea pictogramelor de pe desktop." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Arată directorul personal" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Arată directorul personal pe desktop." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Arată coșul de gunoi" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Arată coșul de gunoi pe desktop." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Colțul de început pentru pictograme noi" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Setează colțul de unde pictogramele noi vor începe să fie poziționate" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Arată unitățile externe pe desktop" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Arată unitățile de disc conecate la calculator" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Arată unitățile de rețea pe desktop" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Arata unitățile de rețea montate pe desktop." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Adaugă unitățile noi în colțul opus al ecranului" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Când se adaugă unități și volume pe desktop, adaugă-le începând din partea " +"opusă a ecranului." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Arată un triunghi în punctul de destinație în timpul Trage și Plasează" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"În timpul operațiunii de Trage și Plaseză, marchează locul în grila unde " +"pictograma va fi pusă cu un triungi semitransparent." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Sortare specială - Acasă/Coș de gunoi/ Unități." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Când se poziționează Pictogramele pe desktop, pentru a sorta și a schimba " +"poziția Acasă, coș de gunoi și unități externe sau de rețea montate" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Ține Pictogramele aranjate" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Ține întotdeauna Pictogramele aranjate după ultima ordine de sortare" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Ordinea de aranjare" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Pictograme aranjate după această proprietate" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Păstrează pictogramele fixate" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Păstrați întotdeauna Icons Stacked, Tipuri similare sunt grupate" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Tipul de fișiere pentru a nu Stack" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "" +"O Array de tipuri de siruri de caractere, Nu stiva aceste tipuri de fișiere" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Adaugă o emblemă la link-uri" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Adaugă o emblemă pentru a permite identificarea legăturilor moi." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Folosește negru pentru textul etichetei" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Pictează textul etichetei în negru în loc de alb. Util atunci când se " +"utilizează medii de lumină." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Arată pictograme noi pe monitor non primar dacă sunt conectate" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"În cazul în care un al doilea monitor este conectat, noi pictograme sunt " +"plasate pe monitorul non primar" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Pictogramele pot fi poziționate oriunde pe birou" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Iconii nu sunt pe o grilă dreptunghiulară, dar pot fi postate oriunde " +"independent de grilă" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +#, fuzzy +msgid "Show Desktop Widgets" +msgstr "Arată biroul în fișiere" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Ascunde/Afișează toate ferestrele desktop" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Arată icoanele pe desktop sau ascunde-le pe toate" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Scurtături aplicație utilizator" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" +"Override pentru comenzi rapide de aplicație implicită stabilite de utilizator" diff --git a/ding/po/ru.po b/ding/po/ru.po new file mode 100644 index 0000000..54d50b4 --- /dev/null +++ b/ding/po/ru.po @@ -0,0 +1,1797 @@ +# 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 +# Ser82-png , 2021-2022 +# Сергей , 2023, 2024, 2025, 2026. +# dinos , 2023, 2024, 2025, 2026. +# Войнов Артем Романович , 2023. +# LibreTranslate , 2024. +# Weblate Translation Memory , 2024, 2025, 2026. +# Weblate , 2024, 2025, 2026. +# Maksim_220 Кабанов , 2025. +# Sundeep Mediratta , 2026. +# Кирилл <09plf5@gmail.com>, 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-03-02 11:09+0000\n" +"Last-Translator: Кирилл <09plf5@gmail.com>\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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Заменить" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "Настройка внешнего вида значков на рабочем столе с помощью CSS" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" +"Внимание: Неправильное выполнение этой операции может привести к повреждению " +"расширения" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "Редактировать CSS override-файл..." + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "Применить изменения в CSS" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "Перезагрузите CSS, чтобы немедленно применить изменения" + +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Комбинации клавиш" + +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Редактировать комбинации клавиш..." + +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Редактировать комбинации клавиш приложения" + +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "" +"Комбинации клавиш можно редактировать только при включённом расширении..." + +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Помогите с переводом используя веб-браузер" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Рабочий стол" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Файлы" + +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Твики" + +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Больше" + +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Настройки рабочего стола" + +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Настройки настольной программы" + +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Папка рабочего стола" + +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Текущий рабочий стол: " + +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Настройки менеджера файлов" + +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Настройки, общие с файловым менеджером Gnome" + +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Разные настройки" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Размер значков на рабочем столе" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Крошечный" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Маленький" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Стандартный" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Большой" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Выравнивание для новых значков" + +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Верхний левый угол" + +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Верхний правый угол" + +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Нижний левый угол" + +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Нижний правый угол" + +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" +"Сначала добавлять новые значки на вторичные мониторы, если они доступны" + +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Выравнивать значки по сетке" + +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Виджеты рабочего стола" + +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Новая папка рабочего стола" + +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Установить новую папку рабочего стола" + +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Выбрать" + +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Вернуть рабочий стол в ~/" + +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Восстановить папку рабочего стола, установленную по умолчанию" + +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Восстановить" + +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Выделять сетку при перетаскивании" + +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Добавить информационные эмблемы для ссылок и шифрования" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Использовать тёмный текст в подписях к значкам" + +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Показывать личную папку на рабочем столе" + +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Показывать значок корзины на рабочем столе" + +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Показывать внешние диски на рабочем столе" + +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Показывать сетевые диски на рабочем столе" + +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Добавлять новые диски на противоположную сторону рабочего стола" + +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Действие для открытия элементов" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Одинарный щелчок" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Двойной щелчок" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Показывать миниатюры изображений" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Всегда" + +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Только на этом компьютере" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Никогда" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Добавить пункт «Удалить безвозвратно» в контекстное меню" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Показывать скрытые файлы" + +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Открывать папки при наведении курсора" + +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "О расширении..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Перевод" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Машинный перевод от LibreTranslate. Проверяется и редактируется " +"пользователями на Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Редактировать переводы" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Проверьте, добавьте или исправьте перевод в вашем веб-браузере" + +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Перевести" + +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Выберите приложение для открытия {foo}" + +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Открыть элементы" + +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Открыть папку" + +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Открыть файл" + +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Ошибка при изменении приложения по умолчанию" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" +"Произошла ошибка при установке {foo} в качестве приложения по умолчанию для " +"{mimetype}" + +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Неверные права доступа к AppImage-файлу" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Этот файл AppImage имеет неправильные права доступа." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Нажмите ПКМ для редактирования свойств, затем:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Установить разрешения, в" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Другие Доступ" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Только для чтения" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "или" + +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Ничего" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Включить опцию" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Разрешить выполнение файла как программы" + +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Недоверенный AppImage-файл" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Этот AppImage-файл не доверен, он не может быть запущен." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Чтобы включить запуск, щёлкните правой кнопкой мыши, затем:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "Включите" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Разрешить запуск" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Название папки" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Название файла" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "ОК" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Переименовать" + +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "AutoAr не установлен" + +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Для работы со сжатыми файлами установите file-roller и/или gir-1.2-" +"gnomeAutoAr" + +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Извлечение файлов" + +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Сжатие файлов" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Отмена" + +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Введите пароль" + +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Удаление неполного файла '${outputFile}'" + +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Создание папки назначения" + +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Извлечение файлов в '${outputPath}'" + +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Извлечение завершено" + +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Извлечение '${fullPathFile}' завершено." + +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Извлечение отменено" + +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Извлечение '${fullPathFile}' было отменено пользователем." + +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Требуется пароль для ${filename}" + +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Ошибка при извлечении" + +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Сжатие файлов в '${outputFile}'" + +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Сжатие завершено" + +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Сжатие файлов в '${outputFile}' завершено." + +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Сжатие отменено" + +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Целевой файл '${outputFile}' уже существует." + +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "Сжатие файлов в '${outputFile}' было отменено пользователем." + +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Ошибка при сжатии" + +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Создать архив" + +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Название архива" + +#: app/autoAr.js:608 +msgid "Password" +msgstr "Пароль" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "Создать" + +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Совместим со всеми операционными системами." + +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Защищённый паролем .zip, требует установки на Windows и Mac." + +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Архив меньшего размера, совместим только с Linux и Mac." + +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Архив меньшего размера, требует установки на Windows и Mac." + +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Показанный рабочий стол доступен для записи другим пользователям" + +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".desktop-файлы не могут быть запущены с этого рабочего стола, так как папка «" +"Рабочий стол» доступна для записи другим пользователям.\n" +"\n" +"Пожалуйста, проверьте права доступа к этой папке рабочего стола и убедитесь, " +"что она недоступна для записи другим пользователям." + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Нерабочий .desktop-файл" + +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Этот .desktop-файл содержит ошибки или указывает на программу без " +"необходимых прав доступа. Он не может быть выполнен.\n" +"\n" +"Отредактируйте файл, указав правильную исполняемую программу." + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Неверные права доступа для .desktop-файла" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Этот файл рабочего стола имеет неправильные права доступа." + +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Недоверенный .desktop-файл" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Этот .desktop-файл не доверен, он не может быть запущен." + +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Не удалось открыть файл" + +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} не может открывать файлы этого типа!" + +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Не удалось изменить папку рабочего стола" + +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Новая папка рабочего стола является символической ссылкой" + +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Новая папка рабочего стола не существует или не является папкой!" + +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Папка рабочего стола изменена" + +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Переключение на новый рабочий стол..." + +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Desktop Icons" + +#: app/desktopGrid.js:2584 +msgid "Back to Desktop" +msgstr "Вернуться на рабочий стол" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "Переключиться на слой виджетов" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Добавить виджет..." + +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Масштабирование буфера кадров монитора отключено" + +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"При наличии нескольких мониторов с разными настройками масштабирования " +"рекомендуется масштабировать буфер кадров для каждого монитора.\n" +"\n" +"Включите соответствующие настройки в Dconf для оконного менеджера Mutter" + +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Обнаружено несколько мониторов с разными настройками масштабирования.\n" +"\n" +"Включить масштабирование буфера кадров для каждого монитора в настройках " +"Dconf для оконного менеджера Mutter?" + +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Включить" + +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Невозможно отобразить рабочий стол" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Папка рабочего стола {desktop} является символической ссылкой\n" +"\n" +"Пожалуйста, измените папку рабочего стола на реальную папку" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Папка рабочего стола {desktop} не существует или не является каталогом\n" +"\n" +"Проверьте установку xdg-utils и укажите правильную папку рабочего стола" + +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "Файловый менеджер GNOME не найден" + +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "Для «Gtk4 Desktop Icons NG» требуется приложение GNOME Файлы." + +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Нет файлового менеджера, установленного по умолчанию" + +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "" +"Не существует приложения, которое обрабатывает mimetype «inode/directory»" + +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "" +"Приложение Gnome Файлы не зарегистрировано в качестве файлового менеджера" + +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Приложение Gnome Файлы не запрограммировано на открытие папок!\n" +"Проверьте установку xdg-utils\n" +"Проверьте установку .desktop-файла приложения Gnome Файлы" + +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Очистить текущую выборку перед новым поиском" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Поиск файлов на рабочем столе" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Создать папку" + +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Ошибка создания папки" + +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Не удалось создать папку" + +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Не удалось открыть рабочий стол в приложении Gnome Файлы" + +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Окно параметров открыто" + +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Это окно открыто. Пожалуйста, переключитесь на активное окно." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Настройки" + +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Ошибка создания шаблона" + +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Не удалось создать документ" + +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Названию" + +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Названию от Я до А" + +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Времени изменения" + +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Типу" + +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Размеру" + +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Сохранить упорядоченными…" + +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Сохранить сгруппированными по типу…" + +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Сортировать домашнюю папку/диски/корзину…" + +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Сменить рабочий стол" + +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Восстановить рабочий стол по умолчанию" + +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Параметры Desktop Icons" + +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Показать комбинации клавиш" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Создать документ" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Вставить" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Отменить" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Повторить" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Выделить всё" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Упорядочить значки" + +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Упорядочить по…" + +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Показать рабочий стол в приложении «{0}»" + +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Открыть в приложении «{0}»" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Редактировать виджеты…" + +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Меню оболочки…" + +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Ошибка создания символической ссылки" + +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Не удалось создать символическую ссылку" + +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Ошибка при копировании/перемещении" + +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} не существует" + +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Выбрать действие для файлового менеджера" + +#: app/dragManager.js:792 +msgid "Move" +msgstr "Переместить" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Копировать" + +#: app/dragManager.js:792 +msgid "Link" +msgstr "Ссылка" + +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Папка" + +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Файл" + +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Ошибка при открытии файла" + +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Не установлено приложение для открытия файлов «{fo}»." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Новая папка с {0} элементом" +msgstr[1] "Новая папка с {0} элементами" +msgstr[2] "Новая папка с {0} элементами" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Открыть всё..." + +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Запустить" + +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Открыть с помощью {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Открыть" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Извлечь сюда" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Извлечь в..." + +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Открыть с помощью..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Открыть всё в другом приложении..." + +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Запустить, используя интегрированную видеокарту" + +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Сгруппировать этот тип" + +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Разгруппировать этот тип" + +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Запустить как программу" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Скрипты" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Вырезать" + +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Перейти к..." + +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Копировать в..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Переименовать…" + +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Создать ссылку..." + +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Сжать {0} папку" +msgstr[1] "Сжать {0} папки" +msgstr[2] "Сжать {0} папок" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Сжать {0} файл" +msgstr[1] "Сжать {0} файла" +msgstr[2] "Сжать {0} файлов" + +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Отправить электронную почту..." + +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Отправить на мобильное устройство" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Переместить в корзину" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Удалить безвозвратно" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Не разрешать запуск" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Очистить корзину" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Извлечь" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Отмонтировать" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Общие свойства" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Свойства" + +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Показать все в приложении «{0}»" + +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Показать в приложении «{0}»" + +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Открыть в приложении «{0}»" + +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Открыть элемент" + +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Извлечение отменено" + +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Не удалось извлечь файл, нет папки назначения" + +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Выберите место назначения" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Выделить" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Невозможно отправить каталог по электронной почте" + +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "" +"Выборка включает в себя каталог. Сжать его первым, чтобы добавить к .zip-" +"файлу?" + +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Ошибка почты" + +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Не удалось найти команду zip, пожалуйста, установите программу" + +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "При создании zip-архива возникла ошибка" + +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Не удалось найти xdg-email, пожалуйста, установите программу" + +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Была ошибка в рассылке файлов" + +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Невозможно открыть рабочий каталог" + +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Не удалось открыть в Console для Gnome" + +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "" +"Пожалуйста, установите Console для Gnome или любой другой эмулятор терминала" + +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Не удалось открыть {0}" + +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Пожалуйста, установите «{0}»" + +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Копирование отменено" + +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Не удалось скопировать файлы, нет папки назначения" + +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Перемещение отменено" + +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Не удалось переместить файлы, нет папки назначения" + +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ не может открывать файлы этого типа!" + +#: app/preferences.js:1078 +msgid "Console" +msgstr "Console" + +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Комбинация по умолчанию:" + +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Введите новую..." + +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Клавиша-модификатор + Клавиша (например, Ctrl + Alt + D)" + +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Сбросить к исходным" + +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Нет акселератора" + +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Системные комбинации клавиш" + +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Общие системные комбинации клавиш" + +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Локальные комбинации клавиш" + +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Комбинации клавиш приложения" + +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Глобальные комбинации клавиш" + +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Системные комбинации клавиш" + +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Комбинации клавиш" + +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Сбросить комбинации клавиш" + +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Сбросить все комбинации клавиш к исходному состоянию" + +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Сбросить все..." + +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Показать рабочий стол в файловом менеджере" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Открыть в терминале" + +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Изменить фон" + +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Изменить настройки экрана" + +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Изменить настройки «Desktop Icons»" + +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Очистить значки" + +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Сохранять упорядоченность" + +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Сохранять сгруппированность" + +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Сортировать специальные папки" + +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Упорядочить значки по названию" + +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Упорядочить значки по названию в порядке убывания" + +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Упорядочить значки по времени изменения" + +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Упорядочить значки по типу" + +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Упорядочить значки по размеру" + +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Найти файлы" + +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Обновить рабочий стол" + +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Показывать скрытые файлы" + +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Снять выделение со всех" + +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Предпросмотр" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "Переключить выбор с помощью клавиатуры" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "Переключиться на слой виджетов" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Добавить виджет" + +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Выбрать значок слева" + +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Выбрать значок справа" + +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Выбрать значок сверху" + +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Выбрать значок снизу" + +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Показать меню" + +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Отобразить фоновое меню оболочки" + +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Создать ярлык на рабочем столе" + +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Включить ускорители ввода текста" + +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Выключить ускорители ввода текста" + +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Показать комбинации клавиш" + +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Показать или скрыть «Desktop Icons»" + +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Дополнительная информация" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Домашняя папка" + +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Корзина" + +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Группа" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Нерабочая ссылка" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "" +"Невозможно открыть этот файл, потому что это неработающая символическая " +"ссылка" + +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Диск" + +#: app/widgetManager.js:1564 +msgid "Widget preferences" +msgstr "Параметры виджета" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "HTML-виджет" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "GTK-виджет" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Пользователь" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Разрешить" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Строгий" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" +"Виджет работает в строго изолированной веб-среде.\n" +"\n" +"• Внешние скрипты и фреймы запрещены.\n" +"• Доступ к сети ограничен защищенными запросами (HTTPS).\n" +"• Выполняться могут только собственные файлы виджета и встроенный код.\n" +"\n" +"Это самый безопасный вариант, и он рекомендуется для большинства виджетов." + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Мягкий" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" +"Виджет обладает более широкими возможностями веб-разработки.\n" +"\n" +"• С проверенных веб-сайтов могут быть загружены скрипты, стили, изображения " +"и фреймы.\n" +"• Разрешён доступ к сети через HTTPS, WebSockets и потоковое мультимедиа.\n" +"\n" +"Используйте только для виджетов, которым вы доверяете." + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Для разработки" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" +"Виджет работает с удобным для разработчиков веб-доступом.\n" +"\n" +"• Разрешены подключения к локальным серверам разработки (localhost).\n" +"• Для тестирования может быть разрешён доступ по протоколам HTTP и " +"WebSocket.\n" +"\n" +"Этот режим предназначен исключительно для разработки и отладки." + +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "По умолчанию" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" +"Виджет работает в соответствии с предопределенной политикой веб-" +"безопасности.\n" +"\n" +"Доступ к интернету и его возможности ограничены в соответствии с действующей " +"политикой." + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "Разрешить веб-контент для {widgetID}?" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" +"Добавляемый вами виджет может загружать содержимое из интернета.\n" +"\n" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" +"Этот контент подпадает под действие политики безопасности виджета:\n" +"\n" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" +"Этот виджет {widgetID} запускает фоновый процесс на вашем компьютере.\n" +"\n" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" +"Серверная часть работает с вашими обычными правами доступа, как и любое " +"другое запущенное вами приложение.\n" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" +"В соответствии с правами доступа вашей учётной записи, виджет может получать " +"доступ к файлам, системным ресурсам и сети.\n" +"\n" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Команда:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "Разрешите это только для виджетов, которым вы безоговорочно доверяете." + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "Разрешить поддержку виджета на бэкэнде?" + +#: app/widgetWebContext.js:187 +msgid "Widget Preferences" +msgstr "Параметры виджета" + +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "«${programName}» - недоступно" + +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Установите «${programName}», чтобы разрешить «Desktop Icons» выполнять эти " +"действия." + +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Выбрать папку рабочего стола" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Команда не найдена" + +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Выберите приложение для открытия выбранных файлов." + +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Всегда использовать для этого типа файлов" + +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Отменить" + +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Открыть" + +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Показывать значки на рабочем столе GNOME" + +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;рабочий " +"стол;файлы;значки;комбинации клавиш;папки;" + +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Показать<>Скрыть" + +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Параметры" + +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Выключить" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Размер значка" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Установить размер значков на рабочем столе." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Показывать домашнюю папку" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Показывать значок домашней папки на рабочем столе." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Показывать значок корзины" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Показывать значок корзины на рабочем столе." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Новые значки начинают размещаться с угла" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Установите угол, с которого значки начнут размещаться." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Показывать внешние диски на рабочем столе" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Показывать диски, подключенные к компьютеру." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Показывать сетевые диски на рабочем столе" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Показывать подключенные сетевые тома на рабочем столе." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Добавлять новые диски на противоположную сторону экрана" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Когда добавляются диски и тома на рабочий стол, располагать их на " +"противоположной стороне экрана." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Показывать прямоугольник в месте назначения во время перемещения" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"При выполнении операции Drag'n'Drop отмечается место в сетке полупрозрачным " +"прямоугольником, куда будет помещён значок." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Сортировать специальные папки - Домашняя папка/Корзина/Диски." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"При размещении значков на рабочем столе, для сортировки и изменения " +"положения Домашней папки, Корзины и подключенных сетевых или внешних дисков" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Сохранить порядок значков" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Всегда сохранять порядок значков используя последнее упорядочивание" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Упорядочивание значков" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Упорядочивание значков по этому свойству" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Сохранять сгруппированность значков" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Всегда сохранять сгруппированность значков. Группируются похожие типы" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Типы файлов, которые не группируются" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Целый набор из строковых типов. Эти типы файлов не группируются" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Добавить эмблему к ссылкам" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Добавить эмблему для идентификации символических ссылок." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Использовать чёрный цвет для текста в подписях" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Окрашивать текст подписи чёрным цветом вместо белого. Полезно при " +"использовании светлого фона." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Показывать новые значки на неосновном мониторе, если он подключён" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Если подключён второй монитор, новые значки размещаются на неосновном " +"мониторе" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Значки могут быть размещены в любом месте на рабочем столе" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Значки не на прямоугольной сетке, но могут быть размещены в любом месте без " +"привязки к сетке" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Виджеты рабочего стола" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "Отображать виджеты в слое под значками, если они установлены" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Скрыть/Показать все окна рабочего стола" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Показать или скрыть все значки на рабочем столе" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Пользовательские комбинации клавиш приложения" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" +"Переопределение для комбинаций клавиш приложения, установленных " +"пользователем по умолчанию" diff --git a/ding/po/sk.po b/ding/po/sk.po new file mode 100644 index 0000000..9137dc4 --- /dev/null +++ b/ding/po/sk.po @@ -0,0 +1,1763 @@ +# Slovak translation for Desktop Icons NG +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Dušan Kazik , 2020-2021. +# Jozef Gaal , 2024, 2025, 2026. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# LibreTranslate , 2023, 2024, 2026. +# Pedro , 2026. +# Sundeep Mediratta , 2026. +# Peter Michel , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding v100.7\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:10+0000\n" +"Last-Translator: Jozef Gaal \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) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n" +"X-Generator: Weblate 5.16.1-dev\n" +"X-Poedit-Basepath: .\n" +"X-Poedit-SearchPath-0: .\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Prepísanie CSS" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "Prispôsobiť vzhľad ikon na ploche pomocou CSS" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "Upozornenie: Nesprávnym postupom môžete pokaziť rozšírenie" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "Upraviť súbor prepisujúci CSS..." + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "Použiť zmeny CSS teraz" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "Načítať CSS pre okamžité uplatnenie zmien" + +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Skratky" + +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Upraviť skratky..." + +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Upraviť klávesové skratky aplikácie" + +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Skratky sú upraviteľné len pri zapnutom rozšírení..." + +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Pomôžte preložiť vo svojom webovom prehliadači" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Pracovná plocha" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Súbory" + +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Vyladenia" + +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Viac" + +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Nastavenia plochy" + +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Nastavenia pre program plochy" + +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Priečinok pracovnej plochy" + +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Aktuálna pracovná plocha: " + +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Nastavenia súborov" + +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Nastavenia zdieľané s aplikáciou Súbory (Gnome Files)" + +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Rôzne vyladenia" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Veľkosť ikon pracovnej plochy" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Najmenšie" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Malé" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Štandardné" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Veľké" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Zarovnanie nových ikon" + +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Ľavý horný roh" + +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Pravý horný roh" + +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Ľavý spodný roh" + +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Pravý spodný roh" + +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Pridať nové ikony najprv na sekundárne monitory, ak sú k dispozícii" + +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Pripnúť ikony na mriežku" + +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Zobraziť miniaplikácie na ploche" + +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Nový priečinok pracovnej plochy" + +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Nastaviť nový priečinok pre pracovnú plochu" + +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Vybrať" + +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Nastaviť plochu späť na ~/" + +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Obnoviť predvolený priečinok pracovnej plochy" + +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Obnoviť" + +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Zvýrazniť mriežku pri pustení ikony" + +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Pridať informačné príznaky pre odkazy, šifrovanie" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Použiť tmavý text na menovkách ikon" + +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Zobraziť osobný priečinok na pracovnej ploche" + +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Zobraziť ikonu koša na pracovnej ploche" + +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Zobraziť externé jednotky na pracovnej ploche" + +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Zobraziť sieťové jednotky na pracovnej ploche" + +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Pridať nové jednotky na opačnú stranu plochy" + +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Akcia pre otvorenie položiek" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Jedno kliknutie" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Dvojité kliknutie" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Zobraziť miniatúry obrázkov" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Vždy" + +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Iba na tomto počítači" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Nikdy" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Zobraziť kontextovú ponuku položky na trvalé odstránenie" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Zobraziť skryté súbory" + +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Otvoriť priečinky pri ťahaní myšou" + +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "O aplikácii..." + +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Preklad" + +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Preložené strojovo pomocou LibreTranslate. Overené a upravené používateľom " +"na Weblate." + +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Upraviť preklady" + +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Overte, pridajte alebo opravte preklad vo vašom webovom prehliadači" + +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Preložiť" + +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Vyberte aplikáciu na otvorenie {foo}" + +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Otvoriť položky" + +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Otvoriť priečinok" + +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Otvoriť súbor" + +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Chyba pri zmene predvolenej aplikácie" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "Chyba pri nastavení {foo} ako predvolenej aplikácie pre {mimetype}" + +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Neplatné oprávnenia na súbor AppImage" + +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Tento súbor AppImage má nesprávne oprávnenia." + +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Kliknite pravým tlačidlom na tlačidlo Upraviť vlastnosti a potom:" + +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Nastaviť oprávnenia, v" + +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Prístup ostatných používateľov" + +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Iba na čítanie" + +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "alebo" + +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Žiadna" + +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Povoľte možnosť" + +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Povoliť spustenie súboru ako programu" + +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Nedôveryhodný súbor AppImage" + +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Tento súbor AppImage nie je dôveryhodný, nie je možné ho spustiť." + +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Ak chcete povoliť spustenie, kliknite pravým tlačidlom myši a potom:" + +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "povoliť" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Umožniť spúšťanie" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Názov priečinku" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Názov súboru" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "OK" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Premenovať" + +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "AutoAr nie je nainštalovaný" + +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Ak chcete pracovať s komprimovanými súbormi, nainštalujte file-roller a/" +"alebo gir-1.2-gnomeAutoAr" + +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Extrahovanie súborov" + +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Kompresia súborov" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Zrušiť" + +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Tu zadajte heslo" + +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Odstraňuje sa čiastočný súbor '${outputFile}'" + +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Vytvorenie cieľového priečinka" + +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Extrahovanie súborov do '${outputPath}'" + +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Extrakcia dokončená" + +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Extrahovanie '${fullPathFile}' bolo dokončené." + +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Extrakcia zrušená" + +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Extrahovanie '${fullPathFile}' bolo zrušené používateľom." + +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Vyžaduje sa prístupová fráza pre ${filename}" + +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Chyba počas extrakcie" + +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Komprimovanie súborov do '${outputFile}'" + +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Kompresia dokončená" + +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Komprimovanie súborov do '${outputFile}' bolo dokončené." + +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Zrušená kompresia" + +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Výstupný súbor '${outputFile}' už existuje." + +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "Komprimovanie súborov do '${outputFile}' bolo zrušené používateľom." + +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Chyba počas kompresie" + +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Vytvoriť archív" + +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Názov archívu" + +#: app/autoAr.js:608 +msgid "Password" +msgstr "Heslo" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "Vytvoriť" + +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Kompatibilný so všetkými operačnými systémami." + +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Heslom chránený .zip, musí byť nainštalovaný v systéme Windows a Mac." + +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Menšie archívy, ale len Linux a Mac." + +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Menšie archívy, ale musia byť inštalované na Windows a Mac." + +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Na zobrazenú plochu môžu zapisovať iní používatelia" + +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"Súbory .deskop nie je možné spustiť z tejto plochy, pretože do priečinka " +"plochy môžu zapisovať iní používatelia.\n" +"\n" +"Skontrolujte oprávnenia tohto priečinku Plochy a uistite sa, aby doň nemohli " +"zapisovať iní používatelia." + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Poškodený súbor plochy" + +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Tento súbor .desktop obsahuje chyby alebo odkazuje na program bez oprávnení. " +"Nie je možné ho spustiť.\n" +"\n" +"Upravte súbor a nastavte správny spustiteľný program." + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Neplatné oprávnenia na súbor plochy" + +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Tento súbor plochy má nesprávne oprávnenia." + +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Nedôveryhodný súbor pracovnej plochy" + +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Tento súbor plochy nie je dôveryhodný, nie je možné ho spustiť." + +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Nepodarilo sa otvoriť súbor" + +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} nemôže otvoriť súbory tohto typu!" + +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Zmena priečinka pracovnej plochy sa nepodarila" + +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Nový priečinok Plocha je symbolický odkaz" + +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Nový priečinok Plocha neexistuje alebo nie je priečinkom!" + +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Priečinok pracovnej plochy bol zmenený" + +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Prechod na novú pracovnú plochu..." + +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Ikony plochy" + +#: app/desktopGrid.js:2584 +msgid "Back to Desktop" +msgstr "Späť na plochu" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "Prepnúť mriežku miniaplikácií" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Pridať miniaplikáciu..." + +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Zmena rozsahu Frame Buffer monitora nie je povolená" + +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Viacero monitorov s rôznymi nastaveniami priblíženia, odporúčame zmenu " +"rozsahu framebuffer pre jednotlivé monitory.\n" +"\n" +"Prosím, povoľte to v nastaveniach Mutter Dconf" + +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Viacero monitorov s rôznymi nastaveniami priblíženia.\n" +"\n" +"Povoliť zmenu rozsahu framebuffer pre jednotlivé monitory v nastaveniach " +"Mutter Dconf?" + +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Zapnúť" + +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Nie je možné zobraziť pracovnú plochu" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Priečinok Plocha {desktop} je symbolický odkaz\n" +"\n" +"Prosím, nastavte priečinok Plocha na skutočný priečinok" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Priečinok Plocha {desktop} neexistuje alebo nie je priečinkom.\n" +"\n" +"Skontrolujte inštaláciu xdg-utils a nastavte správny priečinok plochy" + +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "Aplikácia Súbory (Gnome Files) nebola nájdená" + +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "Aplikácia Súbory (GNOME files) je potrebná pre Gtk4 Desktop Icons NG." + +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Neexistuje žiadny predvolený správca súborov" + +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "" +"Neexistuje žiadna aplikácia, ktorá spravuje mimetype \"inode/directory\"" + +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Aplikácia Súbory (Gnome Files) nie je registrovaná ako správca súborov" + +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Aplikácia Súbory (Gnome Files) nie je naprogramovaná na otváranie " +"priečinkov!\n" +"Skontrolujte svoju inštaláciu xdg-utils\n" +"Skontrolujte inštaláciu súboru .desktop aplikácie Gnome Files" + +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Pred novým hľadaním vymažte aktuálny výber" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Nájdenie súborov na pracovnej ploche" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Nový priečinok" + +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Vytvorenie priečinka zlyhalo" + +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Priečinok sa nepodarilo vytvoriť" + +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Nie je možné otvoriť pracovnú plochu v aplikácii Súbory (Gnome files)" + +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Okno predvolieb je otvorené" + +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Toto okno je otvorené. Prepnite prosím na aktívne okno." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Nastavenia" + +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Chyba pri vytváraní šablóny" + +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Nepodarilo sa vytvoriť dokument" + +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Názov" + +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Názov (Z-A)" + +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Čas úpravy" + +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Typ" + +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Veľkosť" + +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Udržiavať usporiadané…" + +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Udržiavať zoskupené podľa typu…" + +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Usporiadať Domov/Jednotky/Kôš…" + +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Zmeniť pracovnú plochu" + +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Obnoviť predvolenú pracovnú plochu" + +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Nastavenia ikon pracovnej plochy" + +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Zobraziť klávesové skratky" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Nový dokument" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Vložiť" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Vrátiť späť" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Zopakovať" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Vybrať všetko" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Usporiadať ikony" + +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Usporiadať podľa…" + +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Zobraziť plochu v {0}" + +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Otvoriť v aplikácii {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Upraviť miniaplikácie…" + +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Ponuka rozhrania…" + +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Vytváranie symbolického odkazu zlyhalo" + +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Nepodarilo sa vytvoriť symbolický odkaz" + +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Kopírovanie/Presunutie zlyhalo" + +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} Neexistuje" + +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Vyberte akciu pre súbory" + +#: app/dragManager.js:792 +msgid "Move" +msgstr "Presunúť" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Kopírovať" + +#: app/dragManager.js:792 +msgid "Link" +msgstr "Odkaz" + +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Priečinok" + +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Súbor" + +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Otvorenie súboru zlyhalo" + +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Nie je nainštalovaná žiadna aplikácia na otváranie súborov \"{fo}\"." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Nový priečinok s {0} položkami" +msgstr[1] "Nový priečinok s {0} položkou" +msgstr[2] "Nový priečinok s {0} položkami" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Otvoriť všetko..." + +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Spustiť" + +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Otvoriť aplikáciou {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Otvoriť" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Rozbaliť sem" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Rozbaliť do…" + +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Otvoriť pomocou..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Otvoriť všetko inou aplikáciou..." + +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Spustiť pomocou integrovanej grafickej karty" + +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Zoskupiť tento typ" + +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Zrušiť zoskupenie tohto typu" + +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Spustiť ako program" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Skripty" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Vystrihnúť" + +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Presunúť do..." + +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Kopírovať do..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Premenovať…" + +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Vytvoriť odkaz..." + +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Komprimovať {0} priečinok" +msgstr[1] "Komprimovať {0} priečinky" +msgstr[2] "Komprimovať {0} priečinkov" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Komprimovať {0} súbor" +msgstr[1] "Komprimovať {0} súbory" +msgstr[2] "Komprimovať {0} súborov" + +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Poslať e-mailom..." + +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Odoslať na mobilné zariadenie" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Presunúť do Koša" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Odstrániť natrvalo" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Neumožniť spustenie" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Vyprázdniť Kôš" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Vysunúť" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Odpojiť" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Spoločné vlastnosti" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Vlastnosti" + +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Zobraziť všetko v {0}" + +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Zobraziť v aplikácii {0}" + +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Otvoriť v aplikácii {0}" + +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Otvoriť položku" + +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Extrakcia zrušená" + +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Nedá sa extrahovať súbor, žiadny cieľový priečinok" + +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Vybrať cieľ" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Vybrať" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Nedá sa odoslať adresár pomocou emailu" + +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Výber obsahuje priečinok, komprimovať ho najprv do súboru .zip?" + +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Chyba pošty" + +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Nie je možné nájsť príkaz zip, nainštalujte prosím program" + +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archiv.zip" + +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Pri vytváraní archívu zip došlo k chybe" + +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Nie je možné nájsť xdg-email, nainštalujte prosím program" + +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Pri odosielaní súborov e-mailom došlo k chybe" + +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Nie je možné otvoriť pracovný priečinok" + +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Nie je možné otvoriť v Gnome Console" + +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Nainštalujte prosím Gnome Console alebo inú aplikáciu terminálu" + +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Nie je možné otvoriť {0}" + +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Nainštalujte prosím {0}" + +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Kopírovanie zrušené" + +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Nie je možné kopírovať súbory, nie je k dispozícii cieľový priečinok" + +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Presunutie zrušené" + +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Nie je možné presunúť súbory, žiadny cieľový priečinok" + +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ nemôže otvoriť súbory tohto typu!" + +#: app/preferences.js:1078 +msgid "Console" +msgstr "Konzola" + +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Predvolená skratka:" + +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Zadajte novú..." + +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modifikátor + kláves (napr. Ctrl + Alt + D)" + +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Obnoviť na predvolenú" + +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Žiadny akcelerátor" + +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Systémové skratky" + +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Bežné systémové klávesové skratky" + +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Lokálne klávesové skratky" + +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Klávesové skratky aplikácie" + +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Globálne skratky" + +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Systémové klávesové skratky" + +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Klávesové skratky" + +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Obnoviť klávesové skratky" + +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Obnoviť všetky skratky na predvolené" + +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Obnoviť všetky…" + +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Zobraziť Plochu v aplikácii Súbory GNOME" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Otvoriť v termináli" + +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Zmeniť pozadie" + +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Zmeniť nastavenia displeja" + +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Zmeniť nastavenia ikony na pracovnej ploche" + +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Vyčistiť ikony" + +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Udržiavať usporiadané" + +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Udržovať ikony zoskupené" + +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Usporiadať špeciálne priečinky" + +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Usporiadať ikony podľa názvu" + +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Usporiadať ikony podľa zostupného názvu" + +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Usporiadať ikony podľa času úpravy" + +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Usporiadať ikony podľa druhu" + +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Usporiadať ikony podľa veľkosti" + +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Hľadať súbory" + +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Aktualizovať pracovnú plochu" + +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Zobraziť skryté súbory" + +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Odznačiť všetko" + +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Náhľad" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "Prepnúť výber klávesnice" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "Prepnúť vrstvu miniaplikácie" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Pridať miniaplikáciu" + +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Vybrať ikonu vľavo" + +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Vybrať ikonu vpravo" + +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Vybrať ikonu hore" + +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Vybrať ikonu dole" + +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Zobraziť ponuku" + +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Zobraziť ponuku rozhrania pozadia" + +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Vytvoriť skratku na ploche" + +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Zapnúť akcelerátory zadávania textu" + +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Vypnúť akcelerátory zadávania textu" + +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Zobraziť prehliadač skratiek" + +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Zobraziť alebo skryť ikony na pracovnej ploche" + +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Viac informácií" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Domov" + +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Kôš" + +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Zoskupiť" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Nefunkčný odkaz" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "" +"Tento súbor nie je možné otvoriť, pretože je poškodený symbolický odkaz" + +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Jednotka" + +#: app/widgetManager.js:1564 +msgid "Widget preferences" +msgstr "Nastavenia miniaplikácie" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "HTML miniaplikácia" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "GTK miniaplikácia" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Používateľ" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Povoliť" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Prísne" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" +"Miniaplikácia beží v prísne izolovanom webovom prostredí.\n" +"\n" +"• Nie sú povolené žiadne externé skripty ani rámy.\n" +"• Prístup k sieti je obmedzený na zabezpečené (HTTPS) požiadavky.\n" +"• Môžu sa spúšťať iba vlastné súbory miniaplikácie a vložené kódy.\n" +"\n" +"Toto je najbezpečnejšia možnosť a odporúča sa pre väčšinu miniaplikácií." + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Uvoľnený" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" +"Miniaplikácia má povolené širšie webové funkcie.\n" +"\n" +"• Môžu sa načítať externé skripty, štýly, obrázky a rámce z dôveryhodných " +"webových stránok.\n" +"• Je povolený sieťový prístup cez HTTPS, WebSockets a mediálne prúdy.\n" +"\n" +"Používajte to len pre miniaplikácie, ktorým dôverujete." + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Vývoj" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" +"Miniaplikácia sa spúšťa s vývojárskym prístupom na web.\n" +"\n" +"• Pripojenia k lokálnym vývojárskym serverom (localhost) sú povolené.\n" +"• Prístup cez HTTP a WebSocket môže byť povolený na testovanie.\n" +"\n" +"Tento režim je určený iba na vývoj a ladenie." + +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Predvolené" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" +"Miniaplikácia sa spúšťa s preddefinovanou zásadou webovej bezpečnosti.\n" +"\n" +"Prístup na web a funkcie sú obmedzené podľa aktívnej zásady." + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "Povoliť webový obsah pre {widgetId}?" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" +"Miniaplikácia, ktorú pridávate, môže načítať webový obsah z internetu.\n" +"\n" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" +"Tento obsah podlieha bezpečnostnej zásade miniaplikácie:\n" +"\n" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" +"Táto miniaplikácia {widgetId} spúšťa vo vašom počítači proces na pozadí.\n" +"\n" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" +"Backend beží s vašimi bežnými používateľskými oprávneniami, rovnako ako " +"akákoľvek iná aplikácia, ktorú spustíte.\n" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" +"Môže pristupovať k vašim súborom, systémovým zdrojom a sieti podľa oprávnení " +"vášho používateľského účtu.\n" +"\n" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Príkaz:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "Povoliť to len pre miniaplikácie, ktorým bezvýhradne dôverujete." + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "Povoliť backend miniaplikácie?" + +#: app/widgetWebContext.js:187 +msgid "Widget Preferences" +msgstr "Predvoľby miniaplikácie" + +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "„${programName}“ nie je dostupný" + +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Nainštalujte „${programName}“, aby ikony na ploche mohli vykonávať tieto " +"akcie." + +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Vyberte priečinok pracovnej plochy" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Príkaz sa nenašiel" + +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Vyberte aplikáciu pre otvorenie vybraných súborov." + +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Vždy použiť pre tento typ súboru" + +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Zrušiť" + +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Otvoriť" + +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Zobraziť ikony na pracovnej ploche GNOME" + +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"plocha;ikony;súbory; " +"priečinky;správca;usporiadať;skryť;zobraziť;spúšťač;skratky;" + +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Zobraziť<>Skryť" + +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Predvoľby" + +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Vypnúť" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Veľkosť ikon" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Nastaví veľkosť ikon na pracovnej ploche." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Zobraziť osobný priečinok" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Zobrazí osobný priečinok na pracovnej ploche." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Zobraziť ikonu koša" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Zobrazí ikonu koša na pracovnej ploche." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Počiatočný roh pre nové ikony" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Nastaví roh, z ktorého začnú byť umiestňované ikony." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Zobraziť externé jednotky na pracovnej ploche" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Zobrazí diskové jednotky pripojené k počítaču." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Zobraziť sieťové jednotky na pracovnej ploche" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Zobrazí pripojené sieťové zväzky na pracovnej ploche." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Pridať nové jednotky na opačnú stranu obrazovky" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Pri pridávaní jednotiek a zväzkov na pracovnú plochu ich pridána opačnú " +"stranu obrazovky." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Zobrazí obdĺžnik v cieľovom umiestnení počas ťahania a pustenia" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Počas operácie Ťahaj a pusť označí miesto v mriežke, kam sa ikona umiestni, " +"polopriehľadným obdĺžnikom." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Usporiadať špeciálne priečinky - Domov/Kôš, Jednotky." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Pri usporiadaní ikon na pracovnej ploche, pri triedení a zmene polohy " +"priečinka Domov, koša a pripojených sieťových alebo externých diskov" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Udržiavať ikony usporiadané" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Vždy zachovať ikony usporiadané podľa posledného poradia usporiadania" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Poradie usporiadania" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Ikony budú zoradené podľa tejto vlastnosti" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Udržovať ikony zoskupené" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Vždy udržiavať ikony zoskupené, podobné typy sú združené" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Typy súborov, ktoré nezoskupovať" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Pole typov reťazcov, nezoskupovať tieto typy súborov" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Pridať príznak na odkazy" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Pridať príznak na identifikáciu symbolických odkazov." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Použiť čiernu farbu na text štítku" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Vykresliť text na štítku čiernou farbou namiesto bielej. Užitočné pri " +"použití svetlého pozadia." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Zobraziť nové ikony na sekundárnom monitore, ak je pripojený" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Ak je pripojený druhý monitor, nové ikony sú umiestnené na sekundárnom " +"monitore" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ikony môžu byť umiestnené kdekoľvek na ploche" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ikony nie sú na obdĺžnikovej mriežke, ale môžu byť umiestnené kdekoľvek " +"nezávisle od mriežky" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Zobraziť miniaplikácie na ploche" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "Zobraziť miniaplikácie vo vrstve pod ikonami, ak sú nainštalované" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Skryť/zobraziť všetky okná pracovnej plochy" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Zobraziť ikony na ploche alebo ich všetky skryť" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Používateľské skratky aplikácií" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Prepísať predvolené skratky aplikácií nastavené používateľom" diff --git a/ding/po/sl.po b/ding/po/sl.po new file mode 100644 index 0000000..55479b7 --- /dev/null +++ b/ding/po/sl.po @@ -0,0 +1,2080 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Boris Arko , 2024. +# Weblate , 2024, 2025, 2026. +# Weblate Translation Memory , 2024, 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:10+0000\n" +"Last-Translator: Weblate \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 ? 0 : n%100==2 ? 1 : n%100==3 || " +"n%100==4 ? 2 : 3;\n" +"X-Generator: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Preglasi" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Bližnjice" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Uredi bližnjice..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Uredi bližnjice programa" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Bližnjice Urejanje je možno samo, če je omogočeno podaljšanje..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Pomoč pri prevajanju v vašem spletnem brskalniku" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Namizje" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Datoteka" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Pomanjkljivosti" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Več" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Nastavitve namizja" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Nastavitve za namizni program" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Mapa namizja" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Trenutne namizje:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Nastavitve datotek" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Nastavitve so deljene z datotekami Gnome" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Razno Pomanjkljivosti" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Velikost za namizne ikone" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Majhno" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Majhna" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Standard" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Velika" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Nova poravnava ikon" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Zgornji levi kot" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Zgornji desni kot" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Spodnji levi kot" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Spodnji desni kot" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Najprej dodajte nove ikone v sekundarne monitorje, če so na voljo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Pripni ikone v mrežo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "Prikaži namizje v datotekah" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Nova mapa namizja" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Nastavi novo mapo za namizje" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Izberite" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Nastavi namizje nazaj na ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Obnovi privzeto mapo namizja" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Obnovi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Poudari spustno mrežo" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Dodaj simbole za povezave, šifriranje" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Uporabi temno besedilo v ikonskih oznakah" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Prikaži osebno mapo na namizju" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Prikaži ikono za smeti na namizju" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Prikaži zunanje pogone na namizju" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Prikaži omrežne pogone na namizju" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Dodaj nove pogone na nasprotno stran namizja" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Dejanje za odpiranje postavk" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "En klik" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Dvojni klik" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Prikaži sličice" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Vedno" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Samo na tem računalniku" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Nikoli" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Prikaži element kontekstnega menija za trajno brisanje" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Prikaži skrite datoteke" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Odpri mape ob povleci lebdenju" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "O..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Prevod" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Stroj preveden z LibrePrevajanje. Uporabnik preverjen in urejen na Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Uredi prevode" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "" +"Preverjanje, dodajanje ali pravilno prevajanje v vašem spletnem brskalniku" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Prevedi" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Izberite program za odprtje {foo} " + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Odpri postavke" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Odpri mapo" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Odpri datoteko" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Napaka pri spreminjanju privzetega programa" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Neveljavna dovoljenja za aplikacijo" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Ta datoteka aplikacij ima napačna dovoljenja." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Desno Kliknite za urejanje Lastnosti, nato:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Nastavi dovoljenja" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Drugi dostop" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Samo za branje" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "ali" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Brez" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Omogoči možnost" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Dovoli izvajanje datoteke kot programa" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Datoteka z nezaupano aplikacijo" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Ta aplikacija Slika datoteka ni zaupana, ni je mogoče zagnati." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Če želite omogočiti spuščanje, kliknite z desnim gumbom:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "omogoča" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Dovoli zaganjanje" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Ime mape" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Ime datoteke" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "V REDU" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Preimenuj" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Samodejno Ar ni nameščen" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Če želite delati s stisnjenimi datotekami, namestite datotečni roller in/ali " +"gir-1.2-gnome AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Izvlečevanje datotek" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Stiskanje datotek" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Prekliči" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Tu vnesite geslo" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Odstranitev delne datoteke '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Ustvarjanje ciljne mape" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Izvlečevanje datotek v '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Ekstrakcija končana" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Ekstrakcija '${fullPathFile}' je končana." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Ekstrakcija preklicana" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Uporabnik je preklical ekstrakcijo '${fullPathFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Šifrirna fraza, potrebna za ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Napaka med ekstrakcijo" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Stiskanje datotek v '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Kompresija končana" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Stiskanje datotek v '${outputFile}' je končano." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Preklicano stiskanje" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Izhodna datoteka '${outputFile}' že obstaja." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "Kompresiranje datotek v '${outputFile}' je uporabnik preklical." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Napaka med stiskanjem" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Ustvari arhiv" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Ime arhiva" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Geslo" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Ustvari" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Združljiv z vsemi operacijskimi sistemi." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr ".zip, mora biti nameščen na Windows in Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Manjši arhivi, samo Linux in Mac." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Manjši arhivi, vendar morajo biti nameščeni na Windows in Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Prikazano namizje lahko pišejo drugi" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"Datoteke .deskop ni mogoče zagnati s tega namizja, saj je mapa za namizje " +"zapisana s strani drugih uporabnikov.\n" +"\n" +"Preverite dovoljenja te mape namizja in se prepričajte, da je drugi ne " +"pišejo." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Zlomljena namizna datoteka" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Ta datoteka .desktop ima napake ali kaže na program brez dovoljenj. Ne more " +"se izvršiti.\n" +"\n" +"Uredite datoteko za nastavitev pravilnega izvedljivega programa." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Neveljavna dovoljenja za namizje" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Ta namizna datoteka ima napačna dovoljenja." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Nezaupana namizna datoteka" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Ta datoteka namizja ni zaupana, ni je moč zagnati." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Ni moč odpreti Datoteka" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} ne more odpreti datotek te vrste!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Mapa namizja Sprememba ni uspela" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Nova mapa namizja je simbolična povezava" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Nova mapa namizja ne obstaja ali pa ni mapa!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Spremenjena mapa namizja" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Preklopi na novo namizje..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Ikone namizja" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Posodobi namizje" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Dodaj pripomoček" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Medpomnilnik okvirjev za monitor Skaliranje ni omogočeno" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Več monitorjev z različnimi nastavitvami povečave, priporočamo na monitorju " +"scaling.\n" +"\n" +"Omogočite v nastavitvah Mutter Dconf" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Več zaslonov z različnimi nastavitvami povečave.\n" +"\n" +"Omogočite scaling na zaslon okvirja v nastavitvah Mutter Dconf?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Omogoči" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Ni mogoče prikazati namizja" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Namizna mapa {desktop} je simbolična povezava\n" +"\n" +"Nastavite namizje mapo v pravo mapo" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Namizna mapa {desktop} ne obstaja ali pa ni imenik\n" +"\n" +"Preverite namestitev xdg-utils in nastavite pravilno mapo namizja" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME Datoteke niso najdene" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "GNOME Datotečni program zahteva Gtk4 Desktop Icons NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Ni privzetega upravljalnika datotek" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Ni aplikacije, ki bi obravnavala mimetip \"noda/imenik\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Datoteke Gnome niso registrirane kot upravljalnik datotek" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Program datotek Gnome ni programiran za odpiranje map!\n" +"Preverite namestitev xdg-utilov\n" +"Preveri datoteke Gnome .desktop Namestitev datotek" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Počisti trenutno izbiro pred novim iskanjem" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Najdi datoteke na namizju" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Nova mapa" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Ustvarjanje mape ni uspelo" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Ni moč ustvariti mape" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Ni moč odpreti namizja v datotekah Gnome" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Možnosti Okno je odprto" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Okno je odprto. Preklopite na aktivno okno." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Nastavitve" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Napaka pri ustvarjanju predloge" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Ni moč ustvariti dokumenta" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Ime" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Ime Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Spremenjen čas" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Vrsta" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Velikost" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Naj se uredi.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Obdrži zloženo po vrsti.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Razvrsti dom/vozi/smeti.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Spremeni namizje" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Obnovi privzeto namizje" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Nastavitve namizja" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Prikaži bližnjice" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Nov dokument" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Prilepi" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Razveljavi" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Obnovi" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Izberi vse" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Uredi ikone" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Uredi z.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Prikaži namizje v {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Odpri v {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Meni lupin.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Ustvarjanje SymLink ni uspelo" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Ni moč ustvariti simbolične povezave" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Kopiraj/ Premakni ni uspelo" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} Ne obstaja" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Izberite dejanje za datoteke" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Premakni" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Kopiraj" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Povezava" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Mapa" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Datoteka" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Odpiranje datoteke ni uspelo" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Ni nameščenega programa za odpiranje datotek \"{fo}\"." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Nova mapa z {0} Postavka" +msgstr[1] "Nova mapa z {0} Postavka" +msgstr[2] "" +msgstr[3] "" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Odpri vse..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Zagon" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Odpri z {foo}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Odpri" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Izvleci sem" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Izvleci v..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Odpri z..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Odpri vse z drugimi programi..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Zagon z uporabo integrirane grafične kartice" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Zloži to vrsto" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Odloži to vrsto" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Poženi kot program" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Skripti" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Izreži" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Premakni se v..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Kopiraj v..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Preimenuj.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Ustvari povezavo..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Stisni mapo {0}" +msgstr[1] "Stisni mapo {0}" +msgstr[2] "" +msgstr[3] "" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Stisni datoteko {0}" +msgstr[1] "Stisni datoteko {0}" +msgstr[2] "" +msgstr[3] "" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Pošlji v..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Pošlji na mobilno napravo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Premakni v Smeti" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Izbriši trajno" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Ne dovoli zaganjanja" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Prazen Smeti" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Izvrzi" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Odklop" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Skupne lastnosti" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Lastnosti" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Prikaži vse v {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Prikaži v {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Odpri v {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Odpri predmet" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Ekstrakcija preklicana" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Ni moč izvleči Datoteka, ni ciljne mape" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Izberite cilj" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Izberi" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Ni mogoče poslati mape '%s'" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Izbor vključuje imenik, stisk na .zip datoteko prvi?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Napaka pošte" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Ni moč najti ukaza zip, prosim namestite program" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Prišlo je do napake pri ustvarjanju arhiva zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Ni moč najti xdg-email, prosim namestite program" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Prišlo je do napake v e-pošti datotek" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Ni mogoče odpreti delovnega imenika" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Ni moč odpreti v konzoli Gnome" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Namestite konzolo Gnome ali drug terminalski program" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Ni moč odpreti {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Namestite {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Kopiraj preklicano" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Ni moč kopirati datotek, ni ciljne mape" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Premakni preklicano" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Ni moč premakniti datotek, ni ciljne mape" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ ne more odpreti datotek te vrste!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Konzola" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Privzeta bližnjica:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Vtipkaj novo..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Spreminjanje + ključ (npr. Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Ponastavi na privzeto" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Brez pospeševalnika" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Bližnjice sistema" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Skupne tipkarske bližnjice" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Krajevne bližnjice" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Bližnjice tipkovnice programa" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Globalne bližnjice" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Bližnjice sistemske tipkovnice" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Bližnjice tipkovnice" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Ponastavi bližnjice" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Ponastavi vse bližnjice na privzete" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Ponastavi vse..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Prikaži namizje v datotekah" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Odpri v terminalu" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Spremeni ozadje" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Spremeni nastavitve prikaza" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Spremeni nastavitve ikone namizja" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Počisti ikone" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Ohrani ureditev" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Obdrži zloženo" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Razvrsti posebne mape" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Uredi ikone po imenu" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Uredi ikone po padajočem imenu" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Uredi ikone po spremenjenem času" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Uredi ikone Po naravi" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Uredi ikone po velikosti" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Najdi datoteke" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Posodobi namizje" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Prikaži skrite datoteke" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Odizberi vse" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Ogled" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Dodaj pripomoček" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Izberite ikono levo" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Izberite ikono desno" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Izberite ikono gor" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Izberite ikono dol" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Prikaži meni" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Meni ozadja lupin" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Ustvari bližnjico namizja" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Vklopi priključke za vnos besedila" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Priključki za vnos besedila izklopljeni" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Prikaži bližnjico Pregledovalnik" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Prikaži ali Skrij ikone namizja" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Več informacij" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Domov" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Smeti" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Sklad" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Zlomljena povezava" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Ni mogoče odpreti te datoteke, ker je Broken Symlink" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Pogon" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Lastnosti" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Uporabnik" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Dovoli" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "strog" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Široko" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Razvoj" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Privzeto" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Ukaz:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Lastnosti" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" ni na voljo" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Namestite \"${programName}\", da omogočite namizje ikone za izvedbo teh " +"dejanj." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Izberite mapo namizja" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Ukaz ni najden" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Izberite aplikacijo za odpiranje izbranih datotek." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Vedno uporabite za to vrsto datotek" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Prekliči" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Odpri" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Prikaži ikone na namizju GNOME" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"namizne; ikone; datoteke; mape; manager; arrange; skrinje; prikaži; " +"zaganjalnik; kratke ure;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Prikaži <>Skrij" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Lastnosti" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Onemogoči" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Velikost ikon" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Nastavi velikost za namizne ikone." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Prikaži osebno mapo" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Prikaži osebno mapo na namizju." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Prikaži ikono za smeti" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Prikaži ikono za smeti na namizju." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Nov kot za zagon ikon" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Nastavi kot, od koder se bodo ikone začele postavljati." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Prikaži zunanje pogone na namizju" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Prikaži disketne pogone povezane z računalnikom." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Prikaži omrežne pogone na namizju" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Prikaži priklopljene glasnosti omrežja na namizju." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Dodaj nove pogone na nasprotno stran zaslona" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Pri dodajanju pogonov in glasnosti namizju jih dodamo na nasprotno stran " +"zaslona." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Prikaz pravokotnika v namembnem mestu med DnD" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Pri operaciji Drag'n'Drop označuje mesto v mreži, kjer bo ikona postavljena " +"s polprozornim pravokotnikom." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Razvrsti posebne mape - Domov/Smeti pogoni." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Ko urejate ikone na namizju, razvrstite in spremenite položaj doma, smeti in " +"nameščenega omrežja ali zunanjih pogonov" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Obdrži ikone urejene" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Vedno obdrži ikone Dogovorjeno po zadnjem dogovorjenem vrstnem redu" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Uredi vrstni red" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Ikone, ki jih ureja ta lastnost" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Obdrži ikone zložene" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Vedno imejte ikone zložene, Podobne vrste so združene" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Vrsta datotek, ki se ne skladajo" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Vrsta nizov, ne skladajte te vrste datotek" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Dodaj simbol k povezavam" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Dodajte simbol, ki omogoča identifikacijo mehkih povezav." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Uporabi črno za besedilo nalepke" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Besedilo nalepke naslikajte črno namesto belo. Uporabna pri uporabi " +"svetlobnega ozadja." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Prikaži nove ikone na neglavnem monitorju, če so povezane" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Če je drugi monitor povezan, se na neglavni monitor namestijo nove ikone" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ikone lahko namestite kjerkoli na namizju" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ikone niso na pravokotni mreži, ampak jih je mogoče postaviti kjer koli " +"neodvisno od mreže" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +#, fuzzy +msgid "Show Desktop Widgets" +msgstr "Prikaži namizje v datotekah" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Skrij/Prikaži vsa namizna okna" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Prikaži ikone na namizju ali pa jih skrij" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Bližnjice uporabniškega programa" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Povozi za privzete bližnjice programa, ki jih nastavi uporabnik" diff --git a/ding/po/sq.po b/ding/po/sq.po new file mode 100644 index 0000000..2a860a7 --- /dev/null +++ b/ding/po/sq.po @@ -0,0 +1,2076 @@ +# Albanian translations for gtk4-ding package. +# Copyright (C) 2025 THE gtk4-ding'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Automatically generated, 2025. +# +# Weblate Translation Memory , 2025, 2026. +# Sundeep Mediratta , 2026. +# Weblate , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-01-12 12:03+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Albanian \n" +"Language: sq\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: Weblate 5.15.1\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Kombinim përshpejtues" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Ndrysho." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Ndrysho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Kombinim përshpejtues E ndryshueshme vetëm kur..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Ndihmë në" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Files" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Të dobët" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Më shumë" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Rregullimet e desktopit" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Rregullimet për programin e Desktopit" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Kartelë Desktopi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Aktual j" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Rregullimet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Rregullimet me files Gnome" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Të ndryshme Të dobët" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Madhësia e ikonave të desktopit" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Tiny" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "E vogël" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Standart:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "E madhe" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "E re" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Sipër majtas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Në këndin e djathtë" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Poshtë" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Poshtë djathtas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" +"Së pari, nëse është në dispozicion, shtojini ikonat e reja mbikqyrësve të " +"ciklit të dytë" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Ikonat e ikonave në rrjet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "Shfaq Desktopin në Files" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Kartelë e re Desktopi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Vendos një kartelë të re për desktopin" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Zgjidh" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Vendos Desktopin tek ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Rikthe kartelën e prezgjedhur të Desktopit" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Rikthe" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Vër në dukje rrjetën e hedhjes" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Shto emblema informacioni për lidhjet, kriptimin" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Përdor tekstin e errët në etiketat e ikonave" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Shfaq kartelën personale në desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Shfaq ikonën e koshit në desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Shfaq në" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Shfaq në" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Shto makina të reja në anën tjetër të desktopit" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Veprimi për të hapur elementët" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Kliko" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Kliko shumëfish" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Shfaq miniatrat e figurave" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Gjithmonë" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Vetëm në këtë kompjuter" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Asnjëherë" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Shfaq një element menu konteksti për t'u eleminuar përgjithmonë" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Shfaq" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Hap në" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Për..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Përkthimi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Makina e përkthyer duke përdorur Libre Translate. Përdoruesi verifikoi dhe " +"redaktoi në Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Ndrysho" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Në" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Përkthe" + +# MT: LibreTranslate +#: app/appChooser.js:78 +#, fuzzy +msgid "Choose an application to open {foo}" +msgstr "Zgjidh një program për të hapur {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Hap elementët" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Hap kartelën" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Hap file" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Gabim gjatë ndryshimit të aplikativit të prezgjedhur" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Të drejta të pavlefshme për File e AppImage" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "File AppImage ka të drejta të gabuara." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Djathtas Kliko për të ndryshuar Pronësitë, pastaj:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Të drejtat për" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Hyrje tjetër" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Vetëm në lexim" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "ose" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Asnjë" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Aktivizo opsionin" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Lejo File a programi" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "File i përshtatshëm i pasigurt" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Kjo kërkesë File i figurës nuk është i besueshëm, nuk mund të niset." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Për të aktivizuar nisjen, djathtas-klik, atëherë:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "aktivo" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Lejo nisjen" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Pronari i kartelës" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Emri i file" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "OK" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Riemërto" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Auto Ar nuk është i instaluar" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Për të qenë në gjendje të punosh me file e kompresuar, instalo file-roller " +"dhe/ose verr-1.2-gnome AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Duke nxjerrë file" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Duke kompresuar file" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Anullo" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Shkruaj fjalëkalimin këtu" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Heqja e file të pjesshëm '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Duke krijuar kartelën e destinuar" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Duke nxjerrë file në '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Nxjerrja përfundoi" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Nxjerrja e '${fullPathFile}' është përfunduar." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Nxjerrja u anullua" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Nxjerrja '${fullPathFile}' është anulluar nga përdoruesi." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Për ${filename} kërkohet një fjalëkalim" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Gabim gjatë nxjerrjes" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Duke kompresuar file në '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Kompresimi u plotësua" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Kompresimi i skedarëve në '${outputFile}' është kompletuar." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Shtypja e anulluar" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "File i output '${outputFile}' ekziston tashmë." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "Kompresimi i files në '${outputFile}' është anulluar nga përdoruesi." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Gabim" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Krijo arkivin" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Emri i arkivit" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Fjalëkalimi" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Krijo" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "I përshtatshëm me të gjitha sistemet operative." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Fjalëkalimi është i mbrojtur .zip, duhet instaluar në Windows dhe Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Arkiva të vogla, por vetëm Linux dhe Mek." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Arkiva të vegjël, por duhet të instalohen në Windows dhe Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Desktopi i shfaqur është i shkruar nga të tjerët" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"File .deskop nuk mund të niset nga ky Desktop pasi Kartela e Desktopit është " +"e shkruajtshme nga përdorues të tjerë.\n" +"\n" +"Të lutem kontrollo të drejtat e kësaj kartele Desktopi dhe sigurohu që ajo " +"të mos jetë e shkruajtshme nga të tjerët." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "File i dëmtuar Desktop" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Ky file .desktop ka gabime apo pikë në një program pa të drejta. Nuk mund të " +"ekzekutohet.\n" +"\n" +"Ndrysho file nga e ekzekutueshme Programi." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Të drejta të pavlefshme tek Desktop File" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "File Desktop ka të drejta të gabuara." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "File Desktop i pasigurt" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Ky file Desktop nuk është i besueshëm, nuk mund të niset." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "E pamundur hapja e file File" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} nuk mund të hapë files e këtij lloji!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Kartelë Desktopi Ndryshimi dështoi" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Kartela e re e Desktopit është një lidhje simbolike" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Kartela e re e Desktopit nuk ekziston ose nuk është një kartelë!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Desktop Kartela" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Duke kaluar tek Desktopi i ri..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Ikonat e Desktopit" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Rifresko Desktopin" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Monitoro Korniza Buffer Skadimi nuk është aktivuar" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Vëzhgues të shumtë me rregullime të ndryshme zmadhimi, rekomandojnë për " +"monitorim framebuffer shkallëzim.\n" +"\n" +"Aktivo në Rregullimet Dconf Mutter" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Vëzhgues të shumtë me rregullime të ndryshme zmadhimi.\n" +"\n" +"Aktivon për monitorimin e framebuffer shkallëzim në Rregullimet Mutter Dconf?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Aktivo" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "E pamundur shfaqja e Desktopit" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Kartela e Desktopit {desktop} është një lidhje simbolike\n" +"\n" +"Të lutem vendos kartelën e Desktopit në një kartelë të vërtetë" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Kartela e Desktopit {desktop} nuk ekziston, ose nuk është një Directory\n" +"\n" +"Kontrollo instalimin e xdg-utils dhe cakto kartelën korrekte të Desktopit" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME Files nuk" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "GNOME Program i skedarëve kërkohet nga Gtk4 Ikonat e Desktopit NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "File Manazhuesi i prezgjedhur" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Është jo programi" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "File e Gnome nuk është regjistruar si një Menaxhues File" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Programi i files të Gnome nuk është programuar të hapë kartelat!\n" +"Kontrollo instalimin e xdg-utils\n" +"Kontrolli Files .desktop Instalimi i file" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Pastro pjesën aktuale para kërkimit të ri" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Gjej files në Desktop" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "File i ri" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Krijimi i kartelës dështoi" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "I pamundur krijimi i kartelës" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "E pamundur hapja e Desktopit në files Gnome" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Preferimet e dritares është Hap" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Kjo dritare është e hapur. Ju lutem kaloni në dritaren aktive." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Rregullimet" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Shabllon" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "I pamundur krijimi i dokumentit" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Emri" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Emri Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Ndryshuar" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Lloji" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Madhësia" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Mbaj rregull.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Mbajtur nga lloji.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Renditja Shtëpia j" + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Ndrysho Desktopin" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Rikthe Desktopin e prezgjedhur" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Rregullimet e ikonave të Desktopit" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Shfaq" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Dokument i ri" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Ngjite" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Anullo" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Përsërite" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Zgjidh gjithçka" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Rregullo ikonat" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Rregulloje sipas.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Shfaq Desktop Në {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Hape Në {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell Manu.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Lidhja me sim dështoi" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "I pamundur krijimi i lidhjes simbolike" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Kopjo Lëvize" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} Nuk ekziston" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Zgjidh veprimin për files" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Lëvize" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Kopjo" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Lidhje" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Kartelë" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "File" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Hapja e file dështoi" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "out \"{fo}\"" + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Kartelë e re me {0} element" +msgstr[1] "Kartelë e re me {0} element" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Hap gjithçka..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Nis" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Hape me {foo}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Hap" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Hape këtu" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Hap tek..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Hape _Me..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Hap gjithçka me programi." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Nis duke përdorur Kartën e Grafikëve të integruar" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Lloji:" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Pastro këtë lloj" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Ekzekuto si një program" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Script" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Preje" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Lëviz tek..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Kopjo." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Riemërto.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Krijo Lidhje..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Kompreson kartelën {0}" +msgstr[1] "Kompreson kartelën {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Kompreson file {0}" +msgstr[1] "Kompreson file {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Email për..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Dërgo tek Dispozitivi Mobile" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Hidh në kosh" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Elemino përgjithmonë" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Mos e lejoni nisjen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Zbraz koshin" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Zbritje" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Sipër" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Pronësitë" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Pronësitë" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Shfaqi të gjithë në {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Shfaq në {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Hape në {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Hap element" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Anullimi anullohet" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Nga File jo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Zgjidh destinimin" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Zgjidh" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "I pamundur krijimi i directory: %s" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Zgjedhja përfshin një Directory, kompreso së pari një file .zip?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Gabim mail" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "E pamundur gjetja e komandës zip, të lutem instalo programin" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Arkivi.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Gabim gjatë krijimit të një arkivi zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "E pamundur gjetja e xdg-email, të lutem instalo programin" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Gabim gjatë ruajtjes së file mail" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Nuk arrij të hap directory e punës" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "E pamundur hapja në Konsole të Gnome" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Të lutem instalo konsolë Gnome ose Program tjetër Terminal" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "E pamundur hapja {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Të lutem instalo {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Kopjo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "I pamundur kopjimi i files, jo kartela e destinuar" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Lëvize" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "E pamundur lëvizja e files, jo kartela e destinuar" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "nuk hap nga!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Konsolë" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Kombinim përshpejtues i paracaktuar:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Lloji i ri..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Për Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Nga fillimi prezgjedhur" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Asnjë akuzues" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Kombinim përshpejtues i sistemit" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Sistemi i përbashkët përcakton përshpejtimet e tastierës" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Kombinim përshpejtues lokalë" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Aplikativ Tastiera" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Kombinim përshpejtues globalë" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Kombinimi përshpejtues i tastierës së sistemit" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Kombinim përshpejtues i tastierës" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Nga fillimi Kombinimit përshpejtues" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Nga fillimi prezgjedhur" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Nga fillimi Gjithçka." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Shfaq Desktopin në Files" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Hap në terminal" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Ndrysho sfondin" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Ndrysho rregullimet e ekranit" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Ndrysho rregullimet e ikonave të Desktopit" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Pastroni ikonat" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Vazhdoni të rregulloheni" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Vazhdo" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Rendit kartelat lokale" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Rregullojini ikonat me emër" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Rregullo ikonat me emrin në zbritje" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Rregullo ikonat në kohën e ndryshuar" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Rregullo ikonat Me dashamirësi" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Rregullo ikonat me madhësi" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Gjej files" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Rifresko Desktopin" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Shto Files" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Gjithçka" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Pamja e parë" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Zgjidh file majtas" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Zgjidh të drejtën" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Zgjidh file" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Zgjidh file" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Shfaq Menu" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Shfaq Menunë e sfondit" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Krijo Kombinimin e Desktopit" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Accelet e hyrjes në tekst vazhdojnë" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Accelet e hyrjes në tekst" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Shfaq Shfaqës" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Shfaq ose fsheh ikonat e Desktopit" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Informacione shtesë" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Shtëpi" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Koshi" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Stock" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Lidhje e shkëputur" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Nuk arrij të hap këtë file pasi është një simlink i shkëputur" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Vozit" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Preferimet" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Përdorues" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Lejojeni" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Strikt" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Rehatshëm" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Zhvillim" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Mospagim" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Komandë:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Preferimet" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" nuk është në dispozicion" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Instalo \"${programName}\" për të bërë të mundur që ikonat e Desktopit të " +"kryejnë këto veprime." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Zgjidh kartelën e desktopit" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Komanda nuk u gjet" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Zgjidh një file." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Gjithmonë për lloji" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Anullo" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Hap" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Shfaq ikonat në desktopin GNOME" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "j;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Shfaq<>fshi" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Preferimet" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Jo aktiv" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Ikona madhësia" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Vendos madhësinë e ikonave të desktopit." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Shfaq kartelën personale" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Shfaq kartelën personale në desktop." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Shfaq ikonën e koshit" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Shfaq ikonën e koshit në desktop." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Ikonat e reja fillojnë qoshen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Vendos këndin nga ku ikonat do të fillojnë të vendosen." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Shfaq në" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Trego hard-drajverat e lidhur me kompjuterin." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Shfaq në" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Shfaq vëllimet e rrjetit të montuara në desktop." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Shto nga" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Kur shtoni në desktop makina dhe vëllime, shtojini ato në anën tjetër të " +"ekranit." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Shfaq një drejtkëndësh në vendin e destinuar gjatë DnD" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Kur bën një operacion Drag'n'Drop, shënon vendin në rrjet ku ikona do të " +"vihet me një drejtkëndësh gjysmëtransparent." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Rendit kartelat Speciale - Shtëpi/Kosh Drives." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Kur rregullon ikonat në desktop, për të rregulluar dhe ndryshuar pozicionin " +"e shtëpisë, koshit dhe rrjetit të montuar apo drive të jashtme" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Mbaji të rregulluara ikonat" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Mbaji gjithmonë ikonat U rregullua nga urdhëri i fundit i organizuar" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Rregullo rregullin" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Ikonat e organizuara nga kjo pronësi" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Mbaji ikonat të bllokuara" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Gjithmonë mbani ikonat në staked, llojet e ngjashme grupohen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Lloji i files nga nuk" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "A nga" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Shto a file nga" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Shto një simbol për të lejuar identifikimin e lidhjeve të buta." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "E zezë për etiketë" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Pikturoje etiketën në të zezë në vend të bardhë. E dobishme kur përdoret " +"sfondi i dritës." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Shfaq ikonat e reja në monitorin jo kryesor nëse lidhen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Nëse monitori i dytë është i lidhur, në monitorin jo primar vendosen ikona " +"të reja" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ikonat mund të vendosen kudo në Desktop" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ikonat nuk janë në një rrjet drejtkëndësh, por mund të postohen kudo të " +"pavarur nga rrjeti" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +#, fuzzy +msgid "Show Desktop Widgets" +msgstr "Shfaq Desktopin në Files" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Fshih/Shfaq të gjitha dritaret e desktopit" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Shfaqi ikonat në desktop, ose fshihi të gjitha" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Kombinimi përshpejtues i programit të përdoruesit" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Mbishkruaj për rregullimet e prezgjedhura të programit nga përdoruesi" diff --git a/ding/po/sv.po b/ding/po/sv.po new file mode 100644 index 0000000..b9f03a6 --- /dev/null +++ b/ding/po/sv.po @@ -0,0 +1,2010 @@ +# Swedish translation for ding. +# Copyright © 2018-2022 ding's COPYRIGHT HOLDER +# This file is distributed under the same license as the ding package. +# Anders Jonsson , 2018-2021. +# Josef Andersson , 2019. +# Luna Jernberg , 2021, 2023, 2026. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# LibreTranslate , 2023, 2024, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:10+0000\n" +"Last-Translator: Weblate \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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Åsidosätta" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Genvägar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Redigera genvägar..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Edit Application Shortcuts" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Genvägar Redigerbart endast när Extension Enabled." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Hjälp översätta i din webbläsare" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Skrivbord" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Filer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Tweaks" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Mer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Desktop Inställningar" + +# TODO: *ON* the desktop? +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Inställningar för skrivbordsprogrammet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Desktop Folder" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Nuvarande skrivbord:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Filer Inställningar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Inställningar som delas med Gnome Files" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Miscellan Tweaks" + +# TODO: *ON* the desktop? +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Storlek för desktop ikonerna" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Tiny" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Lite liten" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Standard" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Stor" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Nya ikoner anpassning" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Top vänster hörn" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Top höger hörn" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Bottom vänster hörn" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Bottom höger hörn" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" +"Lägg till nya ikoner till sekundära övervakare först, om de är tillgängliga" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Snap ikoner att rutnät" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Skrivbordsgränssnittskomponenter" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Ny skrivbordsmappar" + +# TODO: *ON* the desktop? +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Ställ en ny mapp för skrivbordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Välj" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Ställ in skrivbordet tillbaka till ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Återställ Default Desktop Folder" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Återställ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Highlight drop grid" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Lägg till informationsemblem för länkar, kryptering" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Använd mörk text i ikonetiketter" + +# TODO: *ON* the desktop? +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Visa den personliga mappen på skrivbordet" + +# TODO: *ON* the desktop? +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Visa skräp ikonen på skrivbordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Visa externa enheter på skrivbordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Visa nätverksenheter på skrivbordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Lägg till nya enheter till den motsatta sidan av skrivbordet" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Åtgärder för att öppna objekt" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Single Click" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Dubbelklicka" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Visa bild miniatyrer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Alltid alltid" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "På denna dator endast" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Aldrig aldrig" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Visa ett kontextmenyalternativ för att radera permanent" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Visa dolda filer" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Öppna mappar på drag hover" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Om..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Översättning" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Maskin översatt med LibreTranslate. Användaren verifierad och redigerad på " +"Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Redigera översättningar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Verifiera, lägga till eller korrigera översättningen i din webbläsare" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Översättning" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "Välj en applikation för att öppna [{foo}]" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Öppna objekt" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Open Folder" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Öppen fil" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Fel ändra standardapplikation" + +# MT: LibreTranslate +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "Fel när du ställer in {foo} som standardapplikation för {mimetype}" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Ogiltiga behörigheter på AppImage File" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Denna AppImage File har felaktiga behörigheter." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Höger Klicka för att redigera Egenskaper, sedan:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Ställ in behörigheter, i" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Andra Access" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Läs endast" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "eller" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Ingen" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Möjligt alternativ" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Tillåt att köra fil som ett program" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Untrusted AppImage File" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Denna app Bildfilen är inte betrodd, den kan inte lanseras." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "För att aktivera lansering, högerklicka, sedan:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "möjliggöra" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Tillåt programstart" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Mappnamn" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Filnamn" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "OK" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Byt namn" + +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "AutoAr är inte installerat" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"För att kunna arbeta med komprimerade filer, installera fil-roller och / " +"eller gir-1.2-gnome AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Extrahera filer" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Komprimera filer" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Avbryt" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Ange ett lösenord här" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Ta bort partiell fil '${outputFile}']" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Skapa destination mapp" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Extrahera filer i '${outputPath}']" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Extraktion färdig" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Utdrag '${fullPathFile}'] har slutförts." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Extraktion inställd" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Utdrag '${fullPathFile}'] har annullerats av användaren." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Passfras krävs för ${filename}]" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Fel under extraktion" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Komprimera filer i '${outputFile}']" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Kompression färdig" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Komprimera filer till '${outputFile}'] har slutförts." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Avbokad kompression" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Utgångsfilen '${outputFile}']] finns redan." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "Komprimera filer i '${outputFile}'] har annullerats av användaren." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Fel under kompression" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Skapa arkiv" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Arkivnamn" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Lösenord" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Skapa" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Kompatibel med alla operativsystem." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Lösenordsskyddat .zip måste installeras på Windows och Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Mindre arkiv men bara Linux och Mac." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Mindre arkiv men måste installeras på Windows och Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Displayed Desktop är skrivbar av andra" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop-filer kan inte startas från det här skrivbordet eftersom " +"skrivbordsmappen är skrivbar av andra användare.\n" +"\n" +"Kontrollera behörigheterna för denna skrivbordsmappar och se till att den " +"inte är skrivbar av andra." + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Trasig skrivbordsfil" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Denna .desktop-fil har fel eller pekar på ett program utan tillstånd. Det " +"kan inte utföras.\n" +"\n" +"Redigera filen för att ställa in rätt körbart program." + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Felatiga rättigheter i skrivbordsfilen" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Denna skrivbordsfil har felaktiga behörigheter." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Untrusted Desktop File" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Den här skrivbordsfilen är inte betrodd, den kan inte startas." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Kunde inte öppna Fil" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} kan inte öppna filer av denna typ!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Desktop Folder Förändring misslyckad" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Den nya skrivbordsmapparen är en symbolisk länk" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Den nya skrivbordsmapparen finns inte eller är inte en mapp!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Skrivbordsmappar ändrad" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Växla till nya skrivbordet..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Desktop Icons" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Update Desktop" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Lägg till widget" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Monitor Frame Buffer Scaling är inte aktiverat" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Flera bildskärmar med olika zoominställningar, rekommendera per " +"bildskärmskalning.\n" +"\n" +"Vänligen aktivera i Mutter Dconf Inställningar" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Flera bildskärmar med olika zoominställningar.\n" +"\n" +"Möjliggöra per bildskärmskalning i Mutter Dconf Inställningar?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Aktivera" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Kan inte visa skrivbordet" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Desktop mappen {desktop}] är en symbolisk länk\n" +"\n" +"Vänligen ange skrivbordsmapparen till en riktig mapp" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Den stationära mappen {desktop}] finns inte, eller är inte en katalog\n" +"\n" +"Kontrollera din xdg-utils-installation och ange rätt skrivbordsmappar" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME Filer som inte hittats" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "GNOME Filer ansökan krävs av Gtk4 Desktop Icons NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Det finns ingen standard File Manager" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Det finns ingen ansökan som hanterar mimetype \"inode/directory\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome Files är inte registrerad som filhanterare" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Gnome Files-applikationen är inte programmerad för att öppna mappar!\n" +"Kontrollera din xdg-utils installation\n" +"Kontrollera Gnome Files .desktop Fil installation" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Tydligt aktuellt val före ny sökning" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Hitta filer på skrivbordet" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Ny mapp" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Mamma skapelse misslyckades" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Kunde inte skapa mapp" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Kan öppna skrivbordet i Gnome-filer" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Föreställningar fönster är öppet" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Detta fönster är öppet. Växla till det aktiva fönstret." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Inställningar" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Mallar Skapelse Fel" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Kunde inte skapa dokument" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Namnnamn" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Namn Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Ändrad tid" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Typ" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Storlek" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Håll Arranged.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Håll fast vid typ.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Sort Home/Drives/Trash.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Ändra skrivbordet" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Återställ Default Desktop" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Desktop Icon Inställningar" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Visa genvägar" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Nytt dokument" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Klistra in" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Ångra" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Gör om" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Markera alla" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Arrangera ikonerna" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Arrangera av.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Visa skrivbord i {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Öppna {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Redigera widgetar" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell Menu.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Gör SymLink misslyckad" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Kan inte skapa symbolisk länk" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Kopiera / flytta misslyckades" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0}] Finns inte" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Välj åtgärd för filer" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Flytta" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Kopiera" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Länk" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Mamma" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Fil" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Öppningsfil misslyckades" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Det finns ingen applikation installerad för att öppna \"{fo}\"] filer." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Ny mapp med {0} objekt" +msgstr[1] "Ny mapp med {0} objekt" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Öppna alla…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Lansering" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Öppna med {foo}]" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Öppna" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Extrahera här" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Extrahera till…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Öppna med..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Öppna alla med annat program…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Starta med Integrated Graphics Card" + +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Arrangera denna typ" + +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Sluta arrangera denna typ" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Kör som ett program" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Skript" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Klipp ut" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Flytta till..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Kopiera till..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Byt namn…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Skapa länk..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Komprimera {0}]" +msgstr[1] "Komprimera {0}]" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Komprimera {0} fil" +msgstr[1] "Komprimera {0} filer" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Email till..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Skicka till Mobile Device" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Flytta till papperskorgen" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Ta bort permanent" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Tillåt ej programstart" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Töm papperskorgen" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Mata ut" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Avmontera" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Gemensamma egenskaper" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Egenskaper" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Visa allt i {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Visa i {0}]" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Öppna {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Öppet objekt" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Extraktion annullerad" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Kan inte extrahera Fil, ingen destination mapp" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Välj destination" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Välj" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Kan inte maila en katalog" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Urvalet innehåller en katalog, komprimera till en .zip-fil först?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Mail fel" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Kan inte hitta zip kommandot, vänligen installera programmet" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Det fanns ett fel i att skapa ett zip arkiv" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Kan inte hitta xdg-email, vänligen installera programmet" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Det fanns ett fel i e-postfiler" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Kan inte öppna arbetskatalogen" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Kan öppnas i Gnome Console" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Installera Gnome Console eller annat terminalprogram" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Öppna {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Vänligen installera {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Copy avbokad" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Kan inte kopiera filer, ingen destination mapp" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Flytta annullerad" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Kan flytta filer, ingen destination mapp" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName $ kan inte öppna filer av denna typ!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Konsol" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Standardgenväg:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Typ nya..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modifier + Key (t.ex. Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Återställ till standard" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Ingen Accelerator" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Systemgenvägar" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Common System Defined Keyboard Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Lokala genvägar" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Application Keyboard Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Globala genvägar" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Systemtangentbordsgenvägar" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Keyboard Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Återställ genvägar" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Återställ alla genvägar till standarder" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Återställ allt..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Visa skrivbord i filer" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Öppna i terminal" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Ändra bakgrund" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Ändra Display Inställningar" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Ändra Desktop Icon Inställningar" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Rengör upp ikoner" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Håll Arranged" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Håll staplade" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Sort Special Mappar" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Ordna ikoner efter namn" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Ordna ikoner genom att falla namn" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Ordna ikoner genom modifierad tid" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Arrange Icons By Kind" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Ordna ikoner med storlek" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Hitta filer" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Update Desktop" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Visa dolda filer" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Unselect All" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Förhandsgranskning" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Lägg till widget" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Välj Icon Left" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Välj Icon Right" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Välj Icon Up" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Välj Icon Down" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Visa meny" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Display Shell Background Menu" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Skapa skrivbordsgenväg" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Text Entry Accels Turn On" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Text Entry Accels Turn Off" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Visa genväg Viewer" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Visa eller dölja skrivbordsikoner" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Mer information" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Hem" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Trash" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Stack" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Trasig länk" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Kan inte öppna den här filen eftersom att det är en trasig symlänk" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Drive" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Föreställningar" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Användare" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Tillåt" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Strikt" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Vila" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Utveckling" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Förinställning" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Kommando:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Föreställningar" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" är inte tillgänglig" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Installera \"${programName}\" för att aktivera Desktop Icons för att utföra " +"dessa åtgärder." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Välj skrivbordsmappar" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Kommandot hittades inte" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Välj en app för att öppna de valda filerna." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Använd alltid för denna filtyp" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Cancel" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "Öppna" + +# TODO: *ON* the desktop? +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Visa ikoner på GNOME-skrivbordet" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Visa <>Hide" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Föreställningar" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Inaktivera" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Ikonstorlek" + +# TODO: *ON* the desktop? +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Ställ in storleken för skrivbordsikonerna." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Visa personlig mapp" + +# TODO: *ON* the desktop? +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Visa den personliga mappen på skrivbordet." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Visa papperskorgsikon" + +# TODO: *ON* the desktop? +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Visa papperskorgsikonen på skrivbordet." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Starthörn för nya ikoner" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Ställ in hörnet där ikonerna ska börja placeras." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Visa externa enheter på skrivbordet" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Visa de hårddiskar som är anslutna till datorn." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Visa nätverksenheter på skrivbordet" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Visa monterade nätverksvolymer på skrivbordet." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Lägg till nya enheter på motsatt sida av skärmen" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"När enheter och volymer läggs till på skrivbordet, lägg till dem på motsatt " +"sida av skärmen." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Visar en rektangel i målplatsen under dra-och-släpp" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"När en dra-och-släpp-operation utförs, markeras platsen i rutnätet där " +"ikonen kommer placeras med en halvgenomskinlig rektangel." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Sortera särskilda kataloger - Hem/Papperskorg Diskar." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"I samband med att arrangera ikoner på skrivbordet, att sortera och ändra " +"positionen för Hem, Papperskorg och monterade nätverk eller externa diskar" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Behåll ikonerna arrangerade" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "" +"Behåll alltid ikonerna arrangerade efter den senaste sorteringsordningen" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Arrangera ordningen" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Ikonerna arrangerade efter denna egenskap" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Behåll ikonerna arrangerade" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Behåll alltid ikonerna arrangerade, grupperade efter typ" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Filtyper som inte arrangeras" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "En lista över typer, arrangera inte dessa filtyper" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Lägg till ett emblem till länkar" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "" +"Lägg till ett emblem för att identifiering av mjuka länkar ska tillåtas." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Använd svart för etikett-text" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Måla etikett-text i svart istället för vit. Användbart när ljusa bakgrunder " +"används." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Visa nya ikoner på icke primär bildskärm om de är anslutna" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Om en andra bildskärm är ansluten placeras nya ikoner på den primära " +"bildskärmen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ikoner kan placeras någonstans på skrivbordet" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ikoner är inte på ett rektangulärt rutnät men kan postioneras var som helst " +"oberoende av rutnät" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Skrivbordsgränssnittskomponenter" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Dölj/Visa alla skrivbordsfönster" + +# TODO: *ON* the desktop? +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Visa ikonerna på skrivbordet, eller dölja dem alla" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Användarapplikationsgenvägar" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" +"Överskridande för standardapplikationsgenvägar som fastställts av användaren" diff --git a/ding/po/ta.po b/ding/po/ta.po new file mode 100644 index 0000000..97c8161 --- /dev/null +++ b/ding/po/ta.po @@ -0,0 +1,1794 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# தமிழ்நேரம் , 2024. +# Weblate Translation Memory , 2024, 2025, 2026. +# Weblate , 2024, 2025, 2026. +# Sundeep Mediratta , 2026. +# தமிழ்நேரம் , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-20 21:36+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Tamil \n" +"Language: ta\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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "மேலெழுதவும்" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "சிஎச்எச் உடன் டெச்க்டாப் ஐகான்களின் தோற்றத்தைத் தனிப்பயனாக்கவும்" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "எச்சரிக்கை: இது தவறாகச் செய்தால் நீட்டிப்பை உடைக்கலாம்" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "சிஎச்எச் மேலெழுதல் கோப்பைத் திருத்து..." + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "சிஎச்எச் மாற்றங்களை இப்போதே பயன்படுத்தவும்" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "மாற்றங்களை உடனடியாகப் பயன்படுத்த CSSஐ மீண்டும் ஏற்றவும்" + +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "குறுக்குவழிகள்" + +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "குறுக்குவழிகளைத் திருத்து..." + +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "பயன்பாட்டு குறுக்குவழிகள்" + +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "நீட்டிப்பு இயக்கப்பட்டால் மட்டுமே குறுக்குவழிகளைத் திருத்த முடியும்..." + +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "உங்கள் இணைய உலாவியில் மொழிபெயர்க்க உதவவும்" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "டெச்க்டாப்" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "கோப்புகள்" + +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "மாற்றங்கள்" + +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "மேலும்" + +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "பணிமேடை அமைப்புகள்" + +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "டெச்க்டாப் நிரலுக்கான அமைப்புகள்" + +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "மேசை கோப்புறை" + +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "தற்போதைய டெச்க்டாப்: " + +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "கோப்புகள் அமைப்புகள்" + +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "க்னோம் கோப்புகளுடன் பகிரப்பட்ட அமைப்புகள்" + +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "இதர மாற்றங்கள்" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "டெச்க்டாப் ஐகான்களுக்கான அளவு" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "சிறிய" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "சிறியது" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "தரநிலை" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "பெரிய" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "புதிய ஐகான்கள் சீரமைப்பு" + +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "மேல் இடது மூலை" + +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "மேல் வலது மூலையில்" + +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "கீழ் இடது மூலை" + +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "கீழ் வலது மூலையில்" + +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "இரண்டாம் நிலை மானிட்டர்கள் இருந்தால், முதலில் புதிய ஐகான்களைச் சேர்க்கவும்" + +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "கட்டத்திற்கு ச்னாப்" + +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "திரைபலக நிரல்பலகைகள்" + +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "மேசை கோப்புறை" + +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "டெச்க்டாப்பிற்கு புதிய கோப்புறையை அமைக்கவும்" + +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "தேர்வு" + +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "டெச்க்டாப்பை மீண்டும் ~/ என அமைக்கவும்" + +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "இயல்புநிலை டெச்க்டாப் கோப்புறையை மீட்டமைக்கவும்" + +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "மீட்டமை" + +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "துளி கட்டத்தை முன்னிலைப்படுத்தவும்" + +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "இணைப்புகள், குறியாக்கத்திற்கான செய்தி சின்னங்களைச் சேர்க்கவும்" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "படவுரு லேபிள்களில் இருண்ட உரையைப் பயன்படுத்தவும்" + +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "டெச்க்டாப்பில் தனிப்பட்ட கோப்புறையைக் காட்டு" + +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "டெச்க்டாப்பில் குப்பை ஐகானைக் காட்டு" + +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "டெச்க்டாப்பில் வெளிப்புற இயக்கிகளைக் காட்டு" + +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "டெச்க்டாப்பில் பிணையம் டிரைவ்களைக் காட்டு" + +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "டெச்க்டாப்பின் எதிர் பக்கத்தில் புதிய டிரைவ்களைச் சேர்க்கவும்" + +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "பொருட்களை திறக்க நடவடிக்கை" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "ஒற்றை சொடுக்கு" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "இருமுறை சொடுக்கு செய்யவும்" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "படத்தின் சிறுபடங்களைக் காட்டு" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "எப்போதும்" + +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "இந்த கணினியில் மட்டுமே" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "ஒருபோதும்" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "நிரந்தரமாக நீக்க சூழல் பட்டியல் உருப்படியைக் காட்டு" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "மறைக்கப்பட்ட கோப்புகளைக் காட்டு" + +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "டிராக் ஓவரில் கோப்புறைகளைத் திறக்கவும்" + +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "பற்றி ..." + +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "மொழிபெயர்ப்பு" + +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"LibreTranslate பயன்படுத்தி இயந்திரம் மொழிபெயர்க்கப்பட்டது. பயனர் வெப்லேட்டில் " +"சரிபார்க்கப்பட்டு திருத்தப்பட்டார்." + +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "மாற்றங்களைத் திருத்தவும்" + +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "உங்கள் இணைய உலாவியில் மொழிபெயர்ப்பைச் சரிபார்க்கவும், சேர்க்கவும் அல்லது திருத்தவும்" + +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "மொழிபெயர்த்திடு" + +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "{foo} ஐத் திறக்க ஒரு பயன்பாட்டைத் தேர்ந்தெடுக்கவும்" + +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "பொருட்களைத் திறக்கவும்" + +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "கோப்புறையைத் திற" + +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "கோப்பை திற" + +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "இயல்புநிலை பயன்பாட்டை மாற்றுவதில் பிழை" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "{mimetype} க்கான இயல்புநிலை பயன்பாடாக {foo} ஐ அமைப்பதில் பிழை" + +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "AppImage கோப்பில் தவறான அனுமதிகள்" + +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "இந்த AppImage கோப்பு தவறான அனுமதிகளைக் கொண்டுள்ளது." + +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "பண்புகளைத் திருத்த வலது சொடுக்கு செய்து, பின்:" + +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "அனுமதிகளை அமை, இதில்" + +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "மற்றவர்கள் அணுகல்" + +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "படிக்கவும்" + +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "அல்லது" + +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "எதுவுமில்லை" + +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "இயக்கப்பட்ட விருப்பங்கள்" + +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "ஒரு நிரலாக கோப்பை இயக்க அனுமதிக்கவும்" + +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "நம்பத்தகாத AppImage கோப்பு" + +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "இந்த AppImage கோப்பு நம்பகமானதல்ல, அதைத் தொடங்க முடியாது." + +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "துவக்கத்தை இயக்க, வலது சொடுக்கு செய்து, பின்:" + +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "இயக்கு" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "துவக்கத்தை அனுமதிக்கவும்" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "கோப்புறை பெயர்" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "கோப்பு பெயர்" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "சரி" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "மறுபெயரிடு" + +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "AutoAr நிறுவப்படவில்லை" + +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"சுருக்கப்பட்ட கோப்புகளுடன் வேலை செய்ய, கோப்பு-ரோலர் மற்றும்/அல்லது gir-1.2-gnomeAutoAr " +"ஐ நிறுவவும்" + +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "கோப்புகளைப் பிரித்தெடுத்தல்" + +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "கோப்புகளைச் சுருக்குகிறது" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "கைவிடு" + +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "இங்கே கடவுச்சொல்லை உள்ளிடவும்" + +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "'${outputFile}' பகுதி கோப்பை நீக்குகிறது" + +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "இலக்கு கோப்புறையை உருவாக்குகிறது" + +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "கோப்புகளை '${outputPath}' இல் பிரித்தெடுக்கிறது" + +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "பிரித்தெடுத்தல் முடிந்தது" + +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "'${fullPathFile}' பிரித்தெடுக்கப்பட்டது." + +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "பிரித்தெடுத்தல் கைவிடப்பட்டது" + +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "'${fullPathFile}' பிரித்தெடுப்பது பயனரால் ரத்துசெய்யப்பட்டது." + +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "${filename}க்கான கடவுச்சொற்றொடர் தேவை" + +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "பிரித்தெடுக்கும் போது பிழை" + +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "கோப்புகளை '${outputFile}' இல் சுருக்குகிறது" + +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "சுருக்கம் முடிந்தது" + +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "கோப்புகளை '${outputFile}' இல் சுருக்குவது முடிந்தது." + +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "ரத்து செய்யப்பட்ட சுருக்கம்" + +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "வெளியீட்டு கோப்பு '${outputFile}' ஏற்கனவே உள்ளது." + +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "கோப்புகளை '${outputFile}' இல் சுருக்குவது பயனரால் ரத்துசெய்யப்பட்டது." + +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "சுருக்கத்தின் போது பிழை" + +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "காப்பகத்தை உருவாக்கவும்" + +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "காப்பகத்தின் பெயர்" + +#: app/autoAr.js:608 +msgid "Password" +msgstr "கடவுச்சொல்" + +#: app/autoAr.js:621 +msgid "Create" +msgstr "உருவாக்கு" + +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "அனைத்து இயக்க முறைமைகளுடனும் இணக்கமானது." + +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "" +"கடவுச்சொல் பாதுகாக்கப்பட்ட .zip, சாளரங்கள் மற்றும் Mac இல் நிறுவப்பட்டிருக்க வேண்டும்." + +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "சிறிய காப்பகங்கள் ஆனால் லினக்ச் மற்றும் மேக் மட்டுமே." + +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "சிறிய காப்பகங்கள் ஆனால் சாளரங்கள் மற்றும் Mac இல் நிறுவப்பட்டிருக்க வேண்டும்." + +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "காட்சிப்படுத்தப்பட்ட டெச்க்டாப் மற்றவர்கள் எழுதக்கூடியது" + +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".பணிமேடை கோப்புறை மற்ற பயனர்களால் எழுதக்கூடியதாக இருப்பதால், பணிமேடை கோப்புகளை இந்தப் " +"பணிமேடையிலிருந்து தொடங்க முடியாது. \n" +"\n" +"இந்தப் பணிமேடை கோப்புறையின் அனுமதிகளைச் சரிபார்த்து, அதை மற்றவர்கள் எழுத முடியாது " +"என்பதை உறுதிப்படுத்தவும்." + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "உடைந்த டெச்க்டாப் கோப்பு" + +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"இந்த .பணிமேடை கோப்பில் பிழைகள் அல்லது அனுமதிகள் இல்லாத நிரலுக்கான புள்ளிகள் உள்ளன. அதைச் " +"செயல்படுத்த முடியாது. \n" +"\n" +"சரியான இயங்கக்கூடிய நிரலை அமைக்கக் கோப்பைத் திருத்தவும்." + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "டெச்க்டாப் கோப்பில் செல்லாத அனுமதிகள்" + +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "இந்த டெச்க்டாப் கோப்பில் தவறான அனுமதிகள் உள்ளன." + +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "நம்பத்தகாத டெச்க்டாப் கோப்பு" + +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "இந்த டெச்க்டாப் கோப்பு நம்பகமானதல்ல, இதைத் தொடங்க முடியாது." + +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "கோப்பைத் திறக்க முடியவில்லை" + +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} இந்த வகை கோப்புகளைத் திறக்க முடியாது!" + +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "டெச்க்டாப் கோப்புறையை மாற்ற முடியவில்லை" + +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "புதிய டெச்க்டாப் கோப்புறை ஒரு குறியீட்டு இணைப்பு" + +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "புதிய டெச்க்டாப் கோப்புறை இல்லை அல்லது கோப்புறை அல்ல!" + +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "டெச்க்டாப் கோப்புறை மாற்றப்பட்டது" + +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "புதிய டெச்க்டாப்பிற்கு மாறுகிறது..." + +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "டெச்க்டாப் சின்னங்கள் அளவு" + +#: app/desktopGrid.js:2584 +msgid "Back to Desktop" +msgstr "டெச்க்டாப்பிற்குத் திரும்பு" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +#, fuzzy +msgid "Toggle Widget Grid" +msgstr "விட்செட் லேயரை நிலைமாற்று" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "விட்செட்டைச் சேர்க்கவும்" + +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "மானிட்டர் ஃபிரேம் பஃபர் ச்கேலிங் இயக்கப்படவில்லை" + +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"வெவ்வேறு சூம் அமைப்புகளுடன் கூடிய பல மானிட்டர்கள், ஒரு மானிட்டருக்கு ஃப்ரேம்பஃபர் " +"அளவிடுதலைப் பரிந்துரைக்கவும். \n" +"\n" +"Mutter Dconf அமைப்புகளில் இயக்கவும்" + +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"வெவ்வேறு சூம் அமைப்புகளுடன் கூடிய பல மானிட்டர்கள். \n" +"\n" +"Mutter Dconf அமைப்புகளில் ஒவ்வொரு மானிட்டருக்கும் ஃப்ரேம்பஃபர் அளவிடுதலை இயக்கவா?" + +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "இயக்கு" + +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "டெச்க்டாப்பைக் காட்ட முடியாது" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"டெச்க்டாப் கோப்புறை {desktop} ஒரு குறியீட்டு இணைப்பு \n" +"\n" +"டெச்க்டாப் கோப்புறையை உண்மையான கோப்புறையாக அமைக்கவும்" + +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"டெச்க்டாப் கோப்புறை {desktop} இல்லை அல்லது அது ஒரு கோப்பகம் அல்ல \n" +"\n" +"உங்கள் xdg-utils நிறுவலைச் சரிபார்த்து, சரியான டெச்க்டாப் கோப்புறையை அமைக்கவும்" + +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME கோப்புகள் கிடைக்கவில்லை" + +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "Gtk4 Desktop Icons NG க்கு GNOME கோப்புகள் பயன்பாடு தேவைப்படுகிறது." + +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "இயல்பு கோப்பு மேலாளர் இல்லை" + +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "\"inode/directory\" என்ற மைம் வகையைக் கையாளும் பயன்பாடு எதுவும் இல்லை" + +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "க்னோம் கோப்புகள் கோப்பு மேலாளராக பதிவு செய்யப்படவில்லை" + +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"க்னோம் கோப்புகள் பயன்பாடு கோப்புறைகளைத் திறக்கத் திட்டமிடப்படவில்லை! \n" +"உங்கள் xdg-utils நிறுவலைச் சரிபார்க்கவும் \n" +"Gnome கோப்புகள் .பணிமேடை கோப்பு நிறுவலைச் சரிபார்க்கவும்" + +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "புதிய தேடலுக்கு முன் தற்போதைய தேர்வை அழிக்கவும்" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "டெச்க்டாப்பில் கோப்புகளைக் கண்டறியவும்" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "புதிய கோப்புறை" + +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "கோப்புறை உருவாக்கம் தோல்வியடைந்தது" + +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "கோப்புறையை உருவாக்க முடியவில்லை" + +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "க்னோம் கோப்புகளில் டெச்க்டாப்பைத் திறக்க முடியவில்லை" + +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "விருப்பத்தேர்வுகள் சாளரம் திறந்திருக்கும்" + +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "இந்த சாளரம் திறந்திருக்கும். செயலில் உள்ள சாளரத்திற்கு மாறவும்." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "அமைப்புகள்" + +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "டெம்ப்ளேட் உருவாக்குவதில் பிழை" + +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "ஆவணத்தை உருவாக்க முடியவில்லை" + +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "பெயர்" + +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "பெயர் Z-A" + +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "மாற்றியமைக்கப்பட்ட நேரம்" + +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "வகை" + +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "அளவு" + +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "ஏற்பாடு செய்யுங்கள்…" + +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "வகை வாரியாக அடுக்கி வைக்கவும்…" + +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "வீடு/இயக்ககங்கள்/குப்பையை வரிசைப்படுத்து…" + +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "டெச்க்டாப்பை மாற்றவும்" + +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "இயல்புநிலை டெச்க்டாப்பை மீட்டமைக்கவும்" + +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "டெச்க்டாப் படவுரு அமைப்புகள்" + +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "குறுக்குவழிகளைக் காட்டு" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "புதிய ஆவணம்" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "ஒட்டு" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "செயல்தவிர்" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "மீண்டும்செய்" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "அனைத்தையும் தெரிவுசெய்" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "சின்னங்களை ஒழுங்கமைக்கவும்" + +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "ஏற்பாடு செய்…" + +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "{0} இல் டெச்க்டாப்பைக் காட்டு" + +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "{0} இல் திற" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "நிரல்பலகைகளைத் திருத்து…" + +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "செல் மெனு…" + +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "சிம்லிங்கை உருவாக்குவது தோல்வியடைந்தது" + +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "குறியீட்டு இணைப்பை உருவாக்க முடியவில்லை" + +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "நகலெடு/நகர்த்தல் தோல்வி" + +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "இல்லை" + +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "கோப்புகளுக்கான செயலைத் தேர்ந்தெடுக்கவும்" + +#: app/dragManager.js:792 +msgid "Move" +msgstr "நகர்த்தவும்" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "நகலெடு" + +#: app/dragManager.js:792 +msgid "Link" +msgstr "இணைப்பு" + +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "கோப்புறை" + +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "கோப்பு" + +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "கோப்பை திறப்பதில் தோல்வி" + +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "\"{fo}\" கோப்புகளைத் திறக்க எந்த பயன்பாடும் நிறுவப்படவில்லை." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "{0} உருப்படியுடன் புதிய கோப்புறை" +msgstr[1] "{0} உருப்படிகளுடன் புதிய கோப்புறை" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "அனைத்தையும் திற..." + +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "ஏவுதல்" + +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "{foo} உடன் திறக்கவும்" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "திற" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "இங்கே பிரித்தெடுக்கவும்" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "பிரித்தெடுக்க..." + +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "இதனுடன் திற..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "மற்ற பயன்பாட்டுடன் அனைத்தையும் திற..." + +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "ஒருங்கிணைந்த கிராபிக்ச் கார்டைப் பயன்படுத்தி துவக்கவும்" + +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "இந்த வகையை அடுக்கி வைக்கவும்" + +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "இந்த வகையை அன்ச்டாக் செய்யவும்" + +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "ஒரு நிரலாக இயக்கவும்" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "ச்கிரிப்டுகள்" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "வெட்டு" + +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "இதற்கு நகர்த்து..." + +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "நகலெடு..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "மறுபெயரிடுங்கள்…" + +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "இணைப்பை உருவாக்கு..." + +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "{0} கோப்புறையைச் சுருக்கவும்" +msgstr[1] "{0} கோப்புறைகளை சுருக்கவும்" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "{0} கோப்பை சுருக்கவும்" +msgstr[1] "{0} கோப்புகளை சுருக்கவும்" + +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "இதற்கு மின்னஞ்சல் அனுப்புங்கள்..." + +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "மொபைல் சாதனத்திற்கு அனுப்பவும்" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "குப்பைக்கு நகர்த்தவும்" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "நிரந்தரமாக நீக்கு" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "தொடங்குவதை அனுமதிக்க வேண்டாம்" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "வெறுமை குப்பை" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "வெளியேற்று" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "ஏற்றிவிடு" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "பொதுவான பண்புகள்" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "பண்புகள்" + +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "அனைத்தையும் {0} இல் காட்டு" + +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "{0} இல் காட்டு" + +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "{0} இல் திற" + +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "உருப்படியைத் திறக்கவும்" + +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "பிரித்தெடுத்தல் ரத்து செய்யப்பட்டது" + +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "கோப்பைப் பிரித்தெடுக்க முடியவில்லை, இலக்கு கோப்புறை இல்லை" + +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "இலக்கைத் தேர்ந்தெடுக்கவும்" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "தேர்ந்தெடு" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "கோப்பகத்தை மின்னஞ்சல் செய்ய முடியாது" + +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "தேர்வில் ஒரு கோப்பகம் உள்ளது, முதலில் .zip கோப்பில் சுருக்கவா?" + +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "மின்னஞ்சல் பிழை" + +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "zip கட்டளையை கண்டுபிடிக்க முடியவில்லை, தயவுசெய்து நிரலை நிறுவவும்" + +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "காப்பகம்.zip" + +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "சிப் காப்பகத்தை உருவாக்குவதில் பிழை" + +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "xdg-மின்னஞ்சலைக் கண்டுபிடிக்க முடியவில்லை, தயவுசெய்து நிரலை நிறுவவும்" + +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "கோப்புகளுக்கு மின்னஞ்சல் அனுப்புவதில் பிழை" + +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "வேலை செய்யும் கோப்பகத்தைத் திறக்க முடியவில்லை" + +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "க்னோம் கன்சோலில் திறக்க முடியவில்லை" + +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "க்னோம் கன்சோல் அல்லது பிற டெர்மினல் நிரலை நிறுவவும்" + +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "திறக்க இயலவில்லை" + +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "நிறுவவும் {0}" + +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "நகல் ரத்து செய்யப்பட்டது" + +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "கோப்புகளை நகலெடுக்க முடியவில்லை, இலக்கு கோப்புறை இல்லை" + +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "நகர்த்துதல் ரத்துசெய்யப்பட்டது" + +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "கோப்புகளை நகர்த்த முடியவில்லை, இலக்கு கோப்புறை இல்லை" + +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ இந்த வகை கோப்புகளைத் திறக்க முடியாது!" + +#: app/preferences.js:1078 +msgid "Console" +msgstr "கன்சோல்" + +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "இயல்புநிலை குறுக்குவழி:" + +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "புதிய வகை..." + +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "மாற்றி + விசை (எ.கா. கட்டுப்பாடு + மாற்று + D)" + +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "இயல்புநிலைக்கு மீட்டமைக்கவும்" + +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "முடுக்கி" + +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "கணினி குறுக்குவழிகள்" + +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "பொதுவான கணினி வரையறுக்கப்பட்ட விசைப்பலகை குறுக்குவழிகள்" + +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "உள்ளக குறுக்குவழிகள்" + +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "பயன்பாட்டு குறுக்குவழிகள்" + +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "உலகளாவிய குறுக்குவழிகள்" + +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "விசைப்பலகை குறுக்குவழிகள்" + +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "விசைப்பலகை குறுக்குவழிகள்" + +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "அனைத்து குறுக்குவழிகளையும் மீட்டமைக்கவும்" + +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "எல்லா குறுக்குவழிகளையும் இயல்புநிலைக்கு மீட்டமைக்கவும்" + +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "அனைத்தையும் மீட்டமை..." + +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "கோப்புகளில் டெச்க்டாப்பைக் காட்டு" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "டெர்மினலில் திறக்கவும்" + +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "பின்னணியை மாற்றவும்" + +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "அமைப்புகளைக் காண்பி" + +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "டெச்க்டாப் அமைப்புகள்" + +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "ஐகான்களை தூய்மை செய்யவும்" + +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "ஏற்பாடு செய்து வைக்கவும்" + +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "அடுக்கி வைக்கவும்" + +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "சிறப்பு கோப்புறைகளை வரிசைப்படுத்தவும்" + +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "பெயர் மூலம் சின்னங்களை வரிசைப்படுத்துங்கள்" + +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "இறங்கு பெயர் மூலம் சின்னங்களை வரிசைப்படுத்தவும்" + +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "மாற்றியமைக்கப்பட்ட நேரத்தின்படி சின்னங்களை வரிசைப்படுத்துங்கள்" + +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "ஐகான்களை வகையாக வரிசைப்படுத்துங்கள்" + +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "ஐகான்களை அளவின்படி வரிசைப்படுத்துங்கள்" + +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "கோப்புகளைக் கண்டறியவும்" + +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "டெச்க்டாப்பைப் புதுப்பிக்கவும்" + +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "மறைக்கப்பட்ட கோப்புகளைக் காட்டு" + +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "அனைத்தையும் தேர்வு செய்யுங்கள்" + +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "முன்னோட்டம்" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "விட்செட் லேயரை நிலைமாற்று" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "விட்செட்டைச் சேர்க்கவும்" + +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "இடது ஐகானைத் தேர்ந்தெடுக்கவும்" + +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "வலது ஐகானைத் தேர்ந்தெடுக்கவும்" + +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "ஐகானைத் தேர்வுசெய்க" + +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "கீழே உள்ள ஐகானைத் தேர்ந்தெடுக்கவும்" + +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "மெனுவைக் காட்டு" + +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "செல் பின்னணி மெனுவைக் காண்பி" + +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "டெச்க்டாப் குறுக்குவழியை உருவாக்கவும்" + +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "உரை நுழைவு ஆக்செல்ச் ஆன்" + +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "உரை நுழைவு அணுகல் முடக்கம்" + +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "சார்ட்கட் வியூவரைக் காட்டு" + +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "டெச்க்டாப் ஐகான்களைக் காட்டு அல்லது மறை" + +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "மேலும் செய்தி" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "வீடு" + +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "குப்பை" + +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "அடுக்கு" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "உடைந்த இணைப்பு" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "உடைந்த சிம்லிங்க் என்பதால் இந்தக் கோப்பைத் திறக்க முடியவில்லை" + +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "ஓட்டு" + +#: app/widgetManager.js:1564 +msgid "Widget preferences" +msgstr "விட்செட் விருப்பத்தேர்வுகள்" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "உஉகுமொ விட்செட்" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "GTK விட்செட்" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "பயனர்" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "இசைவு" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "கண்டிப்பான" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" +"விட்செட் இறுக்கமாகச் சாண்ட்பாக்ச் செய்யப்பட்ட வலை சூழலில் இயங்குகிறது. \n" +"\n" +"• வெளிப்புற ச்கிரிப்டுகள் அல்லது பிரேம்கள் அனுமதிக்கப்படவில்லை. \n" +"• பிணையம் அணுகல் பாதுகாப்பான (HTTPS) கோரிக்கைகளுக்கு மட்டுமே. \n" +"• விட்செட்டின் சொந்த கோப்புகள் மற்றும் இன்லைன் குறியீடு மட்டுமே இயங்கக்கூடும். \n" +"\n" +"இது பாதுகாப்பான விருப்பம் மற்றும் பெரும்பாலான விட்செட்டுகளுக்கு பரிந்துரைக்கப்படுகிறது." + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "நிதானமாக" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" +"விட்செட் பரந்த வலைத் திறன்களை அனுமதிக்கும். \n" +"\n" +"• நம்பகமான இணையதளங்களிலிருந்து வெளிப்புற ச்கிரிப்ட்கள், ச்டைல்கள், படங்கள் மற்றும் ஃப்ரேம்கள் " +"ஏற்றப்படலாம். \n" +"• HTTPS, WebSockets மற்றும் மீடியா ச்ட்ரீம்கள் மூலம் பிணையம் அணுகல் " +"அனுமதிக்கப்படுகிறது. \n" +"\n" +"நீங்கள் நம்பும் விட்செட்டுகளுக்கு மட்டுமே இதைப் பயன்படுத்தவும்." + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "வளர்ச்சி" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" +"விட்செட் வளர்ச்சிக்கு ஏற்ற இணைய அணுகலுடன் இயங்குகிறது. \n" +"\n" +"• உள்ளக மேம்பாட்டு சேவையகங்களுக்கான இணைப்புகள் (லோக்கல் ஓச்ட்) அனுமதிக்கப்படுகின்றன. \n" +"• HTTP மற்றும் WebSocket அணுகல் சோதனைக்கு அனுமதிக்கப்படலாம். \n" +"\n" +"இந்தப் பயன்முறை மேம்பாடு மற்றும் பிழைத்திருத்தத்திற்காக மட்டுமே வடிவமைக்கப்பட்டுள்ளது." + +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "இயல்புநிலை" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" +"விட்செட் முன் வரையறுக்கப்பட்ட இணைய பாதுகாப்புக் கொள்கையுடன் இயங்குகிறது. \n" +"\n" +"செயலில் உள்ள கொள்கையின்படி இணைய அணுகல் மற்றும் திறன்கள் கட்டுப்படுத்தப்படுகின்றன." + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "{widgetId}க்கு இணைய உள்ளடக்கத்தை அனுமதிக்கவா?" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" +"நீங்கள் சேர்க்கும் விட்செட் இணையத்தில் இருந்து இணைய உள்ளடக்கத்தை ஏற்றலாம்.\n" +"\n" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" +"இந்த உள்ளடக்கம் விட்செட் பாதுகாப்புக் கொள்கைக்கு உட்பட்டது:\n" +"\n" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" +"இந்த விட்செட், {widgetId} உங்கள் கணினியில் பின்னணி செயல்முறையை இயக்குகிறது.\n" +"\n" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" +"நீங்கள் தொடங்கும் பிற பயன்பாடுகளைப் போலவே, பின்தளமும் உங்கள் இயல்பான பயனர் அனுமதிகளுடன் " +"இயங்குகிறது.\n" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" +"இது உங்கள் பயனர் கணக்கு அனுமதிகளின்படி உங்கள் கோப்புகள், கணினி ஆதாரங்கள் மற்றும் " +"நெட்வொர்க்கை அணுக முடியும்.\n" +"\n" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "கட்டளை:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "நீங்கள் மறைமுகமாக நம்பும் விட்செட்டுகளுக்கு மட்டும் இதை அனுமதிக்கவும்." + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "விட்செட் பின்தளத்தை அனுமதிக்கவா?" + +#: app/widgetWebContext.js:187 +msgid "Widget Preferences" +msgstr "விட்செட் விருப்பத்தேர்வுகள்" + +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" கிடைக்கவில்லை" + +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "இந்த செயல்களைச் செய்ய டெச்க்டாப் ஐகான்களை இயக்க \"${programName}\" ஐ நிறுவவும்." + +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "மேசை கோப்புறை" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "கட்டளை கிடைக்கவில்லை" + +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "தேர்ந்தெடுக்கப்பட்ட கோப்புகளைத் திறக்க ஒரு பயன்பாட்டைத் தேர்ந்தெடுக்கவும்." + +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "இந்தக் கோப்பு வகைக்கு எப்போதும் பயன்படுத்தவும்" + +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_ரத்துசெய்" + +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_திற" + +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "க்னோம் டெச்க்டாப்பில் ஐகான்களைக் காண்பி" + +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"டெச்க்டாப்;ஐகான்கள்;கோப்புகள்; கோப்புறைகள்; மேலாளர்; ஒழுங்கமைத்தல்; மறைத்தல்; காட்டுதல்; " +"துவக்கி; குறுக்குவழிகள்;" + +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "காட்டு/மறைக்க" + +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "விருப்பத்தேர்வுகள்" + +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "முடக்கு" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "படவுரு அளவு" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "டெச்க்டாப் ஐகான்களுக்கான அளவை அமைக்கவும்." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "தனிப்பட்ட கோப்புறையைக் காட்டு" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "டெச்க்டாப்பில் தனிப்பட்ட கோப்புறையைக் காட்டு." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "குப்பை ஐகானைக் காட்டு" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "டெச்க்டாப்பில் குப்பை ஐகானைக் காட்டு." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "புதிய சின்னங்கள் தொடக்க மூலையில்" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "சின்னங்கள் வைக்கத் தொடங்கும் மூலையை அமைக்கவும்." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "டெச்க்டாப்பில் வெளிப்புற இயக்கிகளைக் காட்டு" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "கணினியுடன் இணைக்கப்பட்ட வட்டு இயக்கிகளைக் காட்டு." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "டெச்க்டாப்பில் பிணையம் டிரைவ்களைக் காட்டு" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "டெச்க்டாப்பில் ஏற்றப்பட்ட பிணையம் தொகுதிகளைக் காட்டு." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "திரையின் எதிர் பக்கத்தில் புதிய டிரைவ்களைச் சேர்க்கவும்" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"டிரைவ்கள் மற்றும் தொகுதிகளை டெச்க்டாப்பில் சேர்க்கும் போது, அவற்றை திரையின் எதிர் பக்கத்தில் " +"சேர்க்கவும்." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "DnD இன் போது சேருமிடத்தில் ஒரு செவ்வகத்தைக் காட்டுகிறது" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Drag'n'Drop ஆபரேசனைச் செய்யும்போது, கிரிட்டில் படவுரு வைக்கப்படும் இடத்தை அரை " +"வெளிப்படையான செவ்வகத்துடன் குறிக்கும்." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "சிறப்பு கோப்புறைகளை வரிசைப்படுத்தவும் - முகப்பு/குப்பை இயக்கிகள்." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"டெச்க்டாப்பில் ஐகான்களை ஒழுங்கமைக்கும்போது, முகப்பு, குப்பை மற்றும் மவுண்டட் செய்யப்பட்ட " +"பிணையம் அல்லது எக்ச்டர்னல் டிரைவ்களின் நிலையை வரிசைப்படுத்தவும் மாற்றவும்" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "ஐகான்களை ஒழுங்காக வைத்திருங்கள்" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "கடைசியாக ஒழுங்கமைக்கப்பட்ட வரிசையில் எப்போதும் ஐகான்களை வரிசைப்படுத்தவும்" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "ஒழுங்கை ஏற்பாடு செய்யுங்கள்" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "இந்த சொத்தின் மூலம் வரிசைப்படுத்தப்பட்ட சின்னங்கள்" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "ஐகான்களை அடுக்கி வைக்கவும்" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "எப்போதும் ஐகான்களை அடுக்கி வைத்திருங்கள், இதே போன்ற வகைகள் குழுவாக இருக்கும்" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "அடுக்கி வைக்காத கோப்புகளின் வகை" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "சரங்களின் ஒரு வரிசை, இந்த வகையான கோப்புகளை அடுக்க வேண்டாம்" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "இணைப்புகளில் ஒரு சின்னத்தைச் சேர்க்கவும்" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "மென்மையான இணைப்புகளை அடையாளம் காண ஒரு சின்னத்தைச் சேர்க்கவும்." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "சிட்டை உரைக்கு கருப்பு பயன்படுத்தவும்" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"சிட்டை உரையை வெள்ளைக்கு பதிலாக கருப்பு நிறத்தில் பெயிண்ட் செய்யவும். ஒளி பின்னணியைப் " +"பயன்படுத்தும் போது பயனுள்ளதாக இருக்கும்." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "இணைக்கப்பட்டிருந்தால், முதன்மை அல்லாத மானிட்டரில் புதிய ஐகான்களைக் காட்டு" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"இரண்டாவது மானிட்டர் இணைக்கப்பட்டிருந்தால், முதன்மை அல்லாத மானிட்டரில் புதிய ஐகான்கள் " +"வைக்கப்படும்" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "ஐகான்களை டெச்க்டாப்பில் எங்கு வேண்டுமானாலும் வைக்கலாம்" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "ஐகான்கள் ஒரு செவ்வக கட்டத்தில் இல்லை, ஆனால் கட்டம் இல்லாமல் எங்கும் நிலைநிறுத்தப்படலாம்" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "திரைபலக நிரல்பலகைகள்" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "நிறுவப்பட்டிருந்தால், ஐகான்களுக்குக் கீழே ஒரு அடுக்கில் விட்செட்களைக் காட்டுகிறது" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "அனைத்து டெச்க்டாப் சாளரங்களையும் மறை/காட்டு" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "டெச்க்டாப்பில் ஐகான்களைக் காட்டு அல்லது அனைத்தையும் மறைக்கவும்" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "பயன்பாட்டு குறுக்குவழிகள்" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "பயனரால் அமைக்கப்பட்ட இயல்புநிலை பயன்பாட்டு குறுக்குவழிகளுக்கு மேலெழுதவும்" + +#, fuzzy +#~ msgid "Website" +#~ msgstr "வலைத்தளம்" + +#, fuzzy +#~ msgid "Visit" +#~ msgstr "வருகை" + +#, fuzzy +#~ msgid "Issues" +#~ msgstr "சிக்கல்கள்" + +#, fuzzy +#~ msgid "Report" +#~ msgstr "அறிக்கை" + +#, fuzzy +#~ msgid "License" +#~ msgstr "உரிமம்" + +#, fuzzy +#~ msgid "Do Paste" +#~ msgstr "ஒட்டு" + +#, fuzzy +#~ msgid "Copy Item" +#~ msgstr "நகலெடு .." + +#, fuzzy +#~ msgid "Rename Item" +#~ msgstr "மறுபெயரிடுங்கள்" + +#, fuzzy +#~ msgid "Delete Permanently" +#~ msgstr "நிரந்தரமாக நீக்கு" + +#, fuzzy +#~ msgid "Show Properties" +#~ msgstr "பண்புகளைக் காட்டு" + +#, fuzzy +#~ msgid "Create Link to Item" +#~ msgstr "இணைப்பை உருவாக்கவும்" diff --git a/ding/po/th.po b/ding/po/th.po new file mode 100644 index 0000000..55c6e5d --- /dev/null +++ b/ding/po/th.po @@ -0,0 +1,2053 @@ +# Thai translations for gtk4-ding package. +# Copyright (C) 2025 THE gtk4-ding'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Automatically generated, 2025. +# +# Weblate , 2025, 2026. +# Weblate Translation Memory , 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-20 21:36+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Thai \n" +"Language: th\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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "แทนที่" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "ปุ่มพิมพ์ลัด" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "แก้ไขปุ่มพิมพ์ลัด..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "แก้ไขปุ่มพิมพ์ลัดของโปรแกรม" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "ปุ่มพิมพ์ลัด แก้ไขได้ก็ต่อเมื่อมีการส่วนขยาย..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "แปลภาษาในเว็บเบราว์เซอร์ของคุณ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "พื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "แฟ้ม" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "ต. ค" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "เพิ่มเติม" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "ตั้งค่าพื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "ตั้งค่าโปรแกรมพื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "โฟลเดอร์พื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "พื้นที่ทํางานปัจจุบัน:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "ตั้งค่าแฟ้ม" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "ตั้งค่าที่ใช้ร่วมกันกับแฟ้มของ Gnome" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "เบ็ดเตล็ด ต. ค" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "ขนาดของไอคอนบนพื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "เล็ก" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "เล็ก" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "มาตรฐาน" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "ใหญ่" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "การจัดวางไอคอนใหม่" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "มุมบนซ้าย" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "มุมบนขวา" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "มุมล่างซ้าย" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "มุมล่างขวา" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "เพิ่มไอคอนใหม่ไปยังจอภาพตัวที่สองก่อน หากมี" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "จับภาพไอคอนไปยังแนวตาราง" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "วิดเจ็ตเดสก์ท็อป" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "สร้างโฟลเดอร์พื้นที่ทํางานใหม่" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "ตั้งค่าโฟลเดอร์ใหม่สําหรับพื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "เลือก" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "ตั้งพื้นที่ทํางานใหม่เป็น ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "เรียกคืนโฟลเดอร์ปริยายของพื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "เรียกคืนข้อมูล" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "เน้นเส้นตารางวาง" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "เพิ่มเครื่องหมายข้อมูลสําหรับลิงก์, การเข้ารหัส" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "ใช้ข้อความเข้มในส่วนป้ายของไอคอน" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "แสดงโฟลเดอร์ส่วนตัวบนพื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "แสดงไอคอนถังขยะบนพื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "แสดงไดรฟ์ภายนอกบนพื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "แสดงไดรฟ์เครือข่ายบนพื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "เพิ่มไดรว์ใหม่ไปยังด้านตรงข้ามของพื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "การกระทําเพื่อเปิดรายการ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "คลิกหนึ่งครั้ง" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "ดับเบิลคลิก" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "แสดงภาพตัวอย่างของภาพ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "เสมอ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "บนคอมพิวเตอร์นี้เท่านั้น" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "ไม่เลย" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "แสดงรายการเมนูคลิกขวาเพื่อลบอย่างถาวร" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "แสดงแฟ้มที่ซ่อนไว้" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "เปิดโฟลเดอร์เมื่อเคลื่อนเมาส์ชี้" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "เกี่ยวกับ..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "แปล" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "เครื่องถูกแปลโดยใช้ LibreTranslate ผู้ใช้ตรวจสอบและแก้ไขหน้าเว็บ." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "แก้ไขการแปลภาษา" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "ตรวจสอบเพิ่มเติมหรือที่ถูกต้องในเว็บเบราว์เซอร์ของคุณ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "แปล" + +# MT: LibreTranslate +#: app/appChooser.js:78 +#, fuzzy +msgid "Choose an application to open {foo}" +msgstr "out {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "เปิดรายการ" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "เปิดโฟลเดอร์" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "เปิดแฟ้ม" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "เกิดข้อผิดพลาดระหว่างเปลี่ยนโปรแกรมปริยาย" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "สิทธิ์ที่อนุญาตไม่ถูกต้องบนแฟ้ม AppImyage" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "แฟ้ม AppIage นี้ มีสิทธิ์ไม่ถูกต้อง." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "คลิกขวาเพื่อแก้ไขคุณสมบัติ จากนั้น:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "ตั้งค่าสิทธิ์ที่อนุญาตใน" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "การเข้าใช้งานอื่น ๆ" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "อ่านได้เท่านั้น" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "หรือ" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "ไม่มี" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "เปิดใช้งานตัวเลือก" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "อนุญาตให้ประมวลผลแฟ้มเป็นโปรแกรม" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "แฟ้มที่ไม่สามารถเชื่อถือได้" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "แอปนี้ ไม่สามารถอ่านแฟ้มอิมเมจได้ ไม่สามารถเรียกใช้งานได้." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "เพื่อเปิดใช้งานการปล่อย, การคลิกเมาส์ปุ่มขวา จากนั้น:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "เปิด" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "อนุญาตให้เรียกใช้งาน" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "ชื่อโฟลเดอร์" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "ชื่อแฟ้ม" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "โอเค" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "เปลี่ยนชื่อ" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "อัตโนมัติ ไม่ได้ติดตั้งอาร์" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "เพื่อจะสามารถทํางานกับแฟ้มบีบอัดได้ ติดตั้งตัวรับแฟ้มและ/หรือ gir-1.2-gnome อัตโนมัติ" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "คลายแฟ้ม" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "กําลังบีบอัดแฟ้ม" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "ยกเลิก" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "ป้อนรหัสผ่านที่นี่" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "กําลังเอาแฟ้มบางส่วน '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "กําลังสร้างโฟลเดอร์ปลายทาง" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "คลายแฟ้มเข้า '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "การคลายข้อมูลเสร็จสมบูรณ์" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "การแยก '${fullPathFile}' เสร็จสิ้นแล้ว." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "ยกเลิกการคลายแฟ้มแล้ว" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "การแยก '${fullPathFile}' ถูกยกเลิกโดยผู้ใช้." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "out ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "เกิดข้อผิดพลาดระหว่างทําการคลายแฟ้ม" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "การบีบอัดแฟ้มเข้า '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "การบีบอัดเสร็จสมบูรณ์" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "การบีบอัดแฟ้มเข้า '${outputFile}' ได้เสร็จสมบูรณ์แล้ว." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "ยกเลิกการบีบอัดแล้ว" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "มีแฟ้มผลลัพธ์ '${outputFile}' อยู่แล้ว." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "การบีบอัดแฟ้มเข้า '${outputFile}' ถูกยกเลิกโดยผู้ใช้แล้ว." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "เกิดข้อผิดพลาดขณะบีบข้อมูล" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "สร้างแฟ้มจัดเก็บ" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "ชื่อแฟ้มสํารองข้อมูล" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "รหัสผ่าน" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "สร้าง" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "เข้ากันได้กับระบบปฏิบัติการทั้งหมด." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "รหัสผ่านที่มีการป้องกัน .zip จะต้องถูกติดตั้งบนวินโดวส์และแมค." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "ข้อมูลเล็กๆ แต่ลินุกซ์กับแมคเท่านั้น." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "แฟ้มสํารองข้อมูลขนาดเล็กแต่ต้องถูกติดตั้งบนวินโดวส์และแมค." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "ส่วนพื้นที่ทํางานที่แสดงผลนั้นเขียนโดยโปรแกรมอื่น ๆ" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"ไม่สามารถเรียกแฟ้ม .deskop จากพื้นที่ทํางานนี้ได้ " +"เนื่องจากโฟลเดอร์ของพื้นที่ทํางานนั้นเขียนได้โดยผู้ใช้อื่น\n" +"\n" +"โปรดตรวจสอบสิทธิ์ที่อนุญาตของโฟลเดอร์พื้นที่ทํางานนี้ " +"และตรวจสอบให้แน่ใจว่ามันไม่สามารถเขียนได้โดยผู้อื่น." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "แฟ้มพื้นที่ทํางานแตก" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"แฟ้ม .dektop นี้ มีข้อผิดพลาดหรือชี้ไปยังโปรแกรมโดยไม่มีสิทธิ์ในการใช้งาน " +"มันไม่สามารถดําเนินการได้\n" +"\n" +"แก้ไขแฟ้มเพื่อตั้งค่าโปรแกรมประมวลผลที่ถูกต้อง." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "สิทธิ์ที่อนุญาตบนแฟ้มพื้นที่ทํางานไม่ถูกต้อง" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "แฟ้มพื้นที่ทํางานนี้มีสิทธิ์ไม่ถูกต้อง." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "แฟ้มพื้นที่ทํางานที่ไม่น่าเชื่อถือ" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "ไม่สามารถอ่านแฟ้มพื้นที่ทํางานนี้ได้ ไม่สามารถเรียกใช้งานได้." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "ไม่สามารถเปิด แฟ้ม" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "out {appName}" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "โฟลเดอร์พื้นที่ทํางาน การเปลี่ยนล้มเหลว" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "โฟลเดอร์พื้นที่ทํางานใหม่เป็นลิงก์สัญลักษณ์" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "ยังไม่มีโฟลเดอร์ของพื้นที่ทํางานใหม่ หรือไม่ใช่โฟลเดอร์!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "มีการเปลี่ยนแปลงโฟลเดอร์พื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "สลับไปยังพื้นที่ทํางานใหม่..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "ไอคอนของพื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "ปรับปรุงพื้นที่ทํางาน" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "เพิ่มวิดเจ็ต" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "เฟรมบัฟเฟอร์ของจอภาพ การไล่ระดับสี" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"จอภาพหลายจอที่มีการตั้งค่าการย่อ/ ขยายที่แตกต่างกัน " +"ควรใช้ค่าแต่ละจอในการปรับขนาดเฟรมบัฟเฟอร์\n" +"\n" +"โปรดเปิดใช้ในการตั้งค่า Mutter Dconf" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"หลายจอภาพที่มีการตั้งค่าการย่อ/ ขยายที่แตกต่างกัน\n" +"\n" +"เปิดใช้การปรับขนาดเฟรมบัฟเฟอร์ของจอภาพในการตั้งค่า Mutter Dconf หรือไม่?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "เปิด" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "ไม่สามารถแสดงพื้นที่ทํางาน" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"โฟลเดอร์พื้นที่ทํางาน {desktop} เป็นลิงก์สัญลักษณ์\n" +"\n" +"โปรดตั้งค่าโฟลเดอร์พื้นที่ทํางานเป็นโฟลเดอร์จริง" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "out {desktop}" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "ขนาดของ GNOME ไม่พบแฟ้ม" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "จุด เริ่ม ต้น โปรแกรมของแฟ้มนั้น ต้องการใช้ภาพไอคอนพื้นที่ทํางานแบบ Gtk4." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "ไม่มีตัวจัดการแฟ้มปริยาย" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "ไม่มีโปรแกรมที่จัดการประเภท mime ของแฟ้ม \"inode/ directory\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "แฟ้ม Gnome ไม่ได้ลงทะเบียนเป็นเครื่องมือจัดการแฟ้ม" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"โปรแกรมแฟ้มของ Gnome ไม่ได้โปรแกรมให้เปิดโฟลเดอร์!\n" +"ตรวจสอบการติดตั้ง xdg-utils ของคุณ\n" +"Check file.desktop การติดตั้งแฟ้ม" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "ล้างการเลือกปัจจุบันก่อนการค้นหาใหม่" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "ค้นหาแฟ้มบนพื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "สร้างโฟลเดอร์ใหม่" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "การสร้างโฟลเดอร์ล้มเหลว" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "ไม่สามารถสร้างโฟลเดอร์ได้" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "ไม่สามารถเปิดแฟ้มพื้นที่ทํางานในแฟ้ม gname ได้" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "หน้าต่างที่ปรับแต่งถูกเปิดใช้" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "หน้าต่างนี้เปิดอยู่ กรุณาเปลี่ยนเป็นหน้าต่างที่ทํางานอยู่." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "ตั้งค่า" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "การสร้างแม่แบบผิดพลาด" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "ไม่สามารถสร้างเอกสารได้" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "ชื่อ" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "ชื่อ Z- A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "เวลาแก้ไขใหม่" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "ชนิด" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "ขนาด" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "จัดเรียงต่อไป.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "เก็บสะสมตามประเภท.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "เรียงลําดับของบ้าน/ เครื่องราชอิสริยาภรณ์.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "เปลี่ยนพื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "เรียกคืนพื้นที่ทํางานปริยาย" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "ตั้งค่าไอคอนของพื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "แสดงปุ่มพิมพ์ลัด" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "เอกสารใหม่" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "วาง" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "เลิกทํา" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "ทําซ้ํา" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "เลือกทั้งหมด" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "จัดเรียงไอคอน" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "จัดเรียงโดย.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "แสดงพื้นที่ทํางานใน {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "เปิดใน {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "แก้ไขวิดเจ็ต" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "เมนูเชลล์.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "ทําให้ Simlink ล้มเหลว" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "ไม่สามารถสร้างลิงก์สัญลักษณ์" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "การคัดลอก/ การย้ายภาพล้มเหลว" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "เลือกการกระทําสําหรับแฟ้ม" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "ย้าย" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "คัดลอก" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "เชื่อมโยง" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "โฟลเดอร์" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "แฟ้ม" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "การเปิดแฟ้มล้มเหลว" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "ยังไม่มีการติดตั้งโปรแกรมที่จะเปิดใช้แฟ้ม \"{fo}\"." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "โฟลเดอร์ใหม่ด้วย {0} รายการ" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "เปิดทั้งหมด..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "เรียกใช้" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "เปิดด้วย {foo}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "เปิด" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "คลายไว้ที่นี่" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "คลายไปยัง..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "เปิดด้วย..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "เปิดทั้งหมดด้วยโปรแกรมอื่น..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "เรียกใช้โดยใช้นามบัตรแบบกราฟิกแบบฝังตัวได้" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "จับภาพประเภทนี้" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "ยกเลิกการแนบแฟ้มประเภทนี้" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "ทํางานเป็นโปรแกรม" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "สคริปต์" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "ตัด" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "ย้ายไปยัง..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "คัดลอกไปยัง..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "เปลี่ยนชื่อ.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "สร้างส่วนเชื่อมโยง..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "การบีบอัด {0} โฟลเดอร์" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "แฟ้มบีบอัด {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "อีเมลที่จะ..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "ส่งไปยังอุปกรณ์เคลื่อนที่" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "ทิ้งลงถังขยะ" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "ลบออกอย่างถาวร" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "อย่าอนุญาตให้ปล่อย" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "เทถังขยะทิ้ง" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "เอาแผ่นออก" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "ยกเลิกการเมานท์" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "คุณสมบัติทั่วไป" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "คุณสมบัติ" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "แสดงทั้งหมดใน {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "แสดงใน {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "เปิดใน {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "เปิดรายการ" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "การคลายแฟ้มถูกยกเลิก" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "ไม่สามารถคลายแฟ้มได้ แฟ้ม, ไม่มีโฟลเดอร์ปลายทาง" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "เลือกปลายทาง" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "เลือก" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "ไม่สามารถส่งเมลขยะได้" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "การเลือกรวมไดเรกทอรีให้บีบอัดไปยังแฟ้ม .zip ก่อนหรือไม่?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "อีเมลผิดพลาด" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "ไม่สามารถค้นหาคําสั่ง zip ได้ โปรดติดตั้งโปรแกรม" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "เกิดความผิดพลาดในการสร้างแฟ้มจัดเก็บแบบบีบอัด" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "ไม่พบโปรแกรม xdg- email โปรดติดตั้งโปรแกรม" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "เกิดข้อผิดพลาดในการส่งเมล" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "ไม่สามารถเปิดไดเรกทอรีทํางาน" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "ไม่สามารถเปิดในคอนโซลของ Gnome" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "โปรดติดตั้งคอนโซล Gnome หรือโปรแกรมเทอร์มินัลอื่น ๆ" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "ไม่สามารถเปิดแฟ้ม {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "กรุณาติดตั้ง {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "คัดลอกถูกยกเลิก" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "ไม่สามารถคัดลอกแฟ้มได้ ไม่มีโฟลเดอร์ปลายทาง" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "ย้ายที่ยกเลิกแล้ว" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "ไม่สามารถย้ายแฟ้มได้, ไม่มีโฟลเดอร์ปลายทาง" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName ไม่สามารถเปิดแฟ้มประเภทนี้ได้!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "คอนโซล" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "ปุ่มพิมพ์ลัดปริยาย:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "พิมพ์ใหม่..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "ตัวแปลง + คีย์ (เช่น Ctrl+) Alt+D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "ปรับกลับไปใช้ค่าปริยาย" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "ไม่มีการเร่งความเร็ว" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "ปุ่มพิมพ์ลัดของระบบ" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "ระบบทั่วไปกําหนดปุ่มพิมพ์ลัด" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "ปุ่มพิมพ์ลัดภายในระบบ" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "ปุ่มพิมพ์ลัดของโปรแกรม" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "ปุ่มพิมพ์ลัดส่วนรวม" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "ปุ่มพิมพ์ลัดของระบบ" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "ปุ่มพิมพ์ลัด" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "ตั้งค่าปุ่มพิมพ์ลัดใหม่" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "ปรับปุ่มพิมพ์ลัดทั้งหมดเป็นค่าปริยาย" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "ตั้งค่าใหม่ทั้งหมด..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "แสดงพื้นที่ทํางานในแฟ้ม" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "เปิดในเทอร์มินัล" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "เปลี่ยนพื้นหลัง" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "เปลี่ยนการตั้งค่าการแสดงผล" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "เปลี่ยนการตั้งค่าไอคอนของพื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "ล้างไอคอน" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "คงที่" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "แปะไว้" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "เรียงลําดับโฟลเดอร์พิเศษ" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "จัดเรียงไอคอนโดยใช้ชื่อ" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "จัดเรียงไอคอนโดยเปลี่ยนชื่อทางด้านล่างนี้" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "จัดเรียงไอคอนตามเวลาแก้ไข" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "จัดเรียงไอคอน ตามชนิด" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "ตั้งค่าไอคอนตามขนาด" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "ค้นหาแฟ้ม" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "ปรับปรุงพื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "แสดงแฟ้มที่ซ่อนไว้" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "ยกเลิกการเลือกทั้งหมด" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "แสดงตัวอย่าง" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "เพิ่มวิดเจ็ต" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "เลือกไอคอนด้านซ้าย" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "เลือกภาพไอคอนด้านขวา" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "เลือกภาพไอคอนขึ้น" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "เลือกไอคอนลง" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "แสดงเมนู" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "แสดงเมนูพื้นหลังของเชลล์" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "สร้างปุ่มพิมพ์ลัดของพื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "ช่องข้อความ" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "รายการข้อความ" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "แสดงปุ่มพิมพ์ลัด แสดง" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "แสดงหรือซ่อนไอคอนบนพื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "ข้อมูลเพิ่มเติม" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "บ้าน" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "ทิ้งลงถังขยะ" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "สแต็ก" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "ส่วนเชื่อมโยงที่แตก" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "ไม่สามารถเปิดแฟ้มนี้ได้ เนื่องจากเป็น symlink ที่เสีย" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "ไดรฟ์" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "ปรับแต่ง" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "ผู้ใช้" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "อนุญาต" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "การพัฒนา" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "ค่าเริ่มต้น" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "คำสั่ง:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "ปรับแต่ง" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" ไม่มี" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "ติดตั้ง \"${programName}\" เพื่อเปิดใช้งานไอคอนของพื้นที่ทํางานที่จะใช้การกระทําเหล่านี้." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "เลือกโฟลเดอร์พื้นที่ทํางาน" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "ไม่พบคําสั่ง" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "เลือกโปรแกรมเพื่อเปิดแฟ้มที่เลือก." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "ใช้กับประเภทแฟ้มนี้เสมอ" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_ยกเลิก" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "เ_ปิด" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "แสดงไอคอนบนพื้นที่ทํางานของ GNOME" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"desktop; icons;files; files; manager; aarrange; hyd; show; launcher; sshuts;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "แสดง , 2025, 2026. +# Sundeep Mediratta , 2026. +# Weblate Translation Memory , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-01-12 12:01+0000\n" +"Last-Translator: Weblate Translation Memory \n" +"Language-Team: Tagalog \n" +"Language: tl\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 != 2 && n != 3 && (n % 10 == 4 " +"|| n % 10 == 6 || n % 10 == 9);\n" +"X-Generator: Weblate 5.15.1\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Mga Maikling Pagputol" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Baguhin ang Maikling Pagputol..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Mga Maikling Paglalapat ng Etimento" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "" +"Mga Maikling Pagputol Kapani - paniwala lamang kapag Nabuo ang Extension..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Tulong sa pagsasalin sa inyong web browser" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Mga Boses" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Mga Panghihina ng T" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Higit pa" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Desktop settings" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Mga Pagtatakda Para sa Programa sa Desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Desktop Folder" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Kasalukuyang Desktop:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Pagtatakda ng mga Filete" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Mga Pagtatakda na May Kasamang Gnome Files" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Kaibahan Mga Panghihina ng T" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Lakihan ang mga Larawan sa desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Maliit" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Maliit" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Pamantayan" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Malaki" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Bagong pagkakahanay ng mga imahen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Itaas sa kaliwang kanto" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Ibabaw sa kanang sulok" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Ibabang kaliwang kanto" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Ibaba sa kanang sulok" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "" +"Magdagdag muna ng bagong mga imahen sa Secondary Monitors, kung mayroon man" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Mga larawan ng sabon na ihahanay" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "Ipakita ang Desktop sa Filipinas" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Bagong Desktop Folder" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Maglagay ng bagong folder para sa desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Pumili" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Ilagay ang Desktop pabalik sa ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Ibalik - balik na Default Desktop Folder" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Pagbabalik" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Itampok ang drop grid" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Magdagdag ng mga emblema ng impormasyon para sa mga link, encryption" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Gumamit ng maitim na teksto sa mga etiketa ng imahen" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Ipakita ang folder sa desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Ipakita ang larawan ng basura sa desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Ipakita ang panlabas na mga drive sa desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Ipakita ang mga network drive sa desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Magdagdag ng bagong mga drive sa kabilang panig ng desktop" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Pagkilos Upang Mabuksan ang mga Bagay - Bagay" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Iisang pindot lang" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Dalawang pindot" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Ipakita ang mga larawan ng hinlalaki" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Lagi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Sa computer lamang na ito" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Huwag" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "" +"Ipakita ang isang balita sa menu ng konteksto na permanenteng buburahin" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Ipakita ang mga lihim na files" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Open folders sa draw round" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Tungkol sa..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Pagsasalin" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Makina Isinalin gamit ang LibreTranslate. Pinatotohanan at inayos ni User " +"ang Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Mga Bagong Salin" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Pare - pareho, dagdagan o ituwid ang salin sa inyong web browser" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Pagsasalin" + +# MT: LibreTranslate +#: app/appChooser.js:78 +#, fuzzy +msgid "Choose an application to open {foo}" +msgstr "Pumili ng aplikasyon para buksan ang {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Buksan ang mga Bagay" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Open Folder" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Buksan ang Sawi" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Error sa pagpalit ng default application" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Hindi tanggap na mga Pagpapahintulot sa AppImage File" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Ang AppImage File na ito ay may hindi wastong mga Pagpapahintulot." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Tamang Klick upang isaayos ang mga Wastong Bagay, kung gayon:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Magtakda ng mga Pagpapahintulot, sa Loob" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Ang Iba Naman ay Nakakakuha" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Magbasa Lamang" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "o" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Wala" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Madaling opsyon" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Hayaang Maging Programa ang Pagputol" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Di - ipinagkatiwalang Appimage File" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "" +"Itong App Hindi mapagkakatiwalaan ang talaksan ng larawan, hindi ito " +"mailunsad." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Upang magawa ang paglulunsad, right-click, pagkatapos:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "kakayahan" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Hayaang Maglayas" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Mas tuwirang pangalan" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Pangalan ng talaksan" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "OK" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Muling Pangalan" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Awto Hindi nakaluklok ang ar" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Upang makagawa sa pamamagitan ng mga compressed file, i-install ang file-" +"roller at/o grar-1.2-gnome AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Kinukuha ang mga files" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Pag - uugnay ng mga file" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Huwag ituloy" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Ipasok dito ang password" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Pagtanggal ng talaksang bahagi '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Paglikha ng destinasyong folder" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Pagkuha ng mga files sa '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Natapos ang pagkuha" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Natapos na ang pagkuha '${fullPathFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Nakansela ang Pag - aalis" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Ang pagkuha '${fullPathFile}' ay kinakansela ng gumagamit." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Passfrase ay nangangailangan ng ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Error sa pagkuha" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Pag - uugnay ng mga file sa '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Natapos ang kompresyon" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Natapos na ang pag - uugnay ng mga file sa '${outputFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Mahuhusay na Impact" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Ang talaksang output '${outputFile}' ay umiiral na." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "" +"Ang pag - uugnay ng mga file sa '${outputFile}' ay kinansela ng gumagamit " +"nito." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Error sa panahon ng compression" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Gumawa ng arkibo" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Pangalan ng entity" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Password" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Gumawa" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Sumama sa lahat ng operating system." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Password protektado .zip, dapat i-install sa Windows at Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Mas maliit na arkibo ngunit Linux at Mac lamang." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Mas maliit na arkibo ngunit dapat i-install sa Windows at Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Ang Nakadispleyng Desktop ay tinatanggap ng iba" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop files ay hindi mailunsad mula sa Desktop na ito habang ang Desktop " +"Folder ay writable ng ibang mga gumagamit.\n" +"\n" +"Pakisuyong tingnan ang mga pahintulot ng Desktop Folder na ito, at tiyakin " +"na ito ay hindi maaaring baguhin ng iba." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Sirang Filang Desktop" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Ang talaksang ito na .desktop ay may mga pagkakamali o puntos sa isang " +"programa na walang pahintulot. Hindi ito maaaring patayin.\n" +"\n" +"Baguhin ang file upang itakda ang tamang productive Program." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Hindi tanggap na mga Pagpapahintulot sa Desktop File" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Ang Desktop File na ito ay may maling mga Pagpapahintulot." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Walang tiwalang Filang Desktop" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "" +"Hindi mapagkakatiwalaan ang talaksang ito ng Desktop, hindi ito mailunsad." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Hindi mabuksan Sawi ang paglikha ng talaksan" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} hindi mabuksan ang mga file ng Type na ito!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Desktop Folder Bigo ang pagbabago" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Ang bagong Desktop Folder ay isang simbolikong Link" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Ang bagong Desktop Folder ay hindi umiiral o hindi isang Folder!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Nagbago ang Desktop Folder" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Paglipat sa bagong Desktop..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Desktop Mga Icon" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Updated Desktop" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Monitor Frame Buffer Hindi nagagawa ang pag-ccaling" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Maraming monitor na may iba't ibang zoom setting, ang nagrerekomenda sa " +"bawat framebuffer scaling.\n" +"\n" +"Pakisuyong tumulong sa Mutter Dconf settings" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Maraming monitor na may iba't ibang zoom setting.\n" +"\n" +"Kalakip ba ng bawat monitor framebuffer scaling sa Mutter Dconf settings?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Kaibig - ibig" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Hindi Maipapakita ang Desktop" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Ang Desktop folder {desktop} ay isang simbolikong Link\n" +"\n" +"Pakisuyong ilagay ang Desktop Folder sa isang tunay na Folder" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Ang Desktop folder {desktop} ay hindi umiiral, o hindi isang Direktoryo\n" +"\n" +"Itsek ang inyong xdg-utils na instalasyon at ilagay ang tamang Desktop Folder" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "Rlopelago Hindi nakahanap ng mga talaksan" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "" +"Ang Muratori Ang paglalagay ng talaksan ay hinihiling ng Gtk4 Desktop Icons " +"NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Walang default File Manler" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Walang aplikasyon na humahawak sa mimetype na \"inode/directory\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "" +"Ang Gnome Files ay hindi nakarehistro bilang Isang Tagapamahala ng File" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Ang Gnome Files application ay hindi nakaprograma sa open Folders!\n" +"Tingnan ang iyong installment ng xdg-utils\n" +"Tingnan ang Gnome Files .desktop Pagluluklok ng talaksan" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Linawin ang kasalukuyang mapagpipilian bago ang bagong paghahanap" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Hanapin ang mga Larawan sa Desktop" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Bagong Folder" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Nabigo ang Mas Malawak na Paglalang" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Hindi makalikha ng folder" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Hindi mabuksan ang Desktop sa Gnome Files" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Nakabukas ang Preferences Window" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Ang Window na ito ay bukas. Pakisuyong bumaling sa aktibong bintana." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Mga Pagtatakda" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Pagkakamali sa template" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Hindi makalikha ng dokumento" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Pangalan" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Pangalan Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Binagong Panahon" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Uri" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Laki" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Patuloy na Iayos.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Manatiling Nababalutan ng Uri.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Uring Tahanan/Drives/Trash.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Palitan ang Desktop" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Ibalik sa Dating Kalagayan" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Desktop Icon settings" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Magpakita ng mga Maikling Pagputol" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Bagong Document" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Nakaraan" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Hindi tapos" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Pula" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Piliin ang Lahat" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Iayos ang mga Imahen" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Isinaayos ni.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "Ipakita ang Desktop In {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "Buksan ang In {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell Menu.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Paggawa ng SymLink Bigo" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Hindi makalikha ng simbolikong kawing" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Bigo ang Pagkopya/Move" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} Hindi umiiral" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Pumili ng Aksiyon Para sa mga Filipina" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Lumipat" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Kopya" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Kaugnayan" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Mas Folder" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Sawi ang paglikha ng talaksan" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Bigo ang Pagbukas ng Sawi" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "" +"Walang aplikasyong naka-install upang buksan ang mga talaksang \"{fo}\"." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Bagong Folder na may {0} ng artikulo" +msgstr[1] "Bagong Folder na may {0} ng artikulo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Buksan ang Lahat..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Pandarambong" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "Buksan sa {foo}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Buksan" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Pag - aalis Dito" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Pagsalin sa..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Magbukas sa..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Buksan ang Lahat ng Iba Pang Gamit..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Launch gamit ang Integrated Graphics Card" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Balutin ang Uring Ito" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Itapon ang Uring Ito" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Tumakbo Bilang Isang Programa" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Mga Eskripto" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Hiwain" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Lumipat sa..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Kopya..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Pangalan.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Lumikha ng Kaugnayan..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Compress {0} folder" +msgstr[1] "Compress {0} folder" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Compress {0} file" +msgstr[1] "Compress {0} file" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Email to..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Padalhan ng Mobile Devace" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Lumipat sa Kawalan ng Tirahan" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Lubusang alisin" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Huwag Hayaang Magalit" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Walang - Kupas na Basura" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Eject" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Halaga" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Karaniwang mga Tama" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Mga Tama" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Ipakita ang Lahat sa {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "Ipakita sa {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "Buksan sa {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Buksan ang Item" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Nasuri ang Pag - aalis" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Hindi makakuha File, walang destinasyong folder" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Pumili ng Pagpapaliban - liban" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Pumili" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Hindi makapag - email ng Direktoryo" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "" +"Ang pagpili ay kinabibilangan ng isang Directory, compress sa isang .zip " +"file muna?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Pagkakamali sa Sulat" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Hindi makita ang utos sa zigs, pakisuyong i-install ang programa" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "May pagkakamali sa paglikha ng arkibo ng sizi" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Hindi mahanap ang xdg-email, pakisuyong i-install ang programa" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "May pagkakamali sa emailing Files" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Hindi Mabuksan ang Direktoryo sa Trabaho" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Hindi Mabuksan sa Gnome Console" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Pakisuyong maglagay ng Gnome Console o iba pang Terminal Program" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "Hindi mabuksan {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Pakisuyong magluklok {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Nasuri ang Kopya" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Hindi makopya ang mga File, walang destinasyong folder" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Ilipat ang mga Manika" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Hindi magalaw ang Files, walang destinasyong folder" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "Hindi mabuksan ng $apName$ ang mga file ng Type na ito!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Iconsole" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Maikling Pagsira:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Bagong uri..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modifier + Susi (hal. Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Muling Nakahandang Magpahamak" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Walang Tagapangulo" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Mga Maikling Pagputol ng Sistema" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "" +"Karaniwang Sistema na Binigyang - Kahulugan ang mga Maikling Pagputol sa " +"Keyboard" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Lokal na mga Maikling Pagputol" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Pagkakapit ng mga Maikling Bagay sa Keyboard" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Pangglobong mga Maikling Bagay" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "System Keyboard Shorts" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Mga Maikling Pagputol sa Keyboard" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Muling Ilagay ang Maikling mga Pagputol" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Ibalik ang Lahat ng mga shortcut sa mga Talampas" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Ibalik ang Lahat..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Ipakita ang Desktop sa Filipinas" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Buksan sa Terminal" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Pagbabago ng Pinagmulan" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Pagbabago ng mga Palabas" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Palitan ang Desktop Icon settings" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Malinis na mga Imahen" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Patuloy na Iayos" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Manatiling Nababalutan" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Kakaibang Pantanging mga Mangitlo" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Isaayos ang mga Imahen sa Pangalan" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Iayos ang mga Icon sa Pamamagitan ng Nagpapababang Pangalan" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Iayos ang mga Imahen sa Pamamagitan ng Binagong Panahon" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Iayos ang mga Imahen Mabait" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Iayos ang mga Imahen sa Pamamagitan ng Pagdami" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Humanap ng mga Sawi" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Updated Desktop" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Ipakita ang mga Nakatagong Filipina" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Hindi Natiyak ang Lahat" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Patiunang Pag - isipan" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Piliing Kaliwa ng Icon" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Pumili Nang Tama" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Piliing Magkasundo" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Pumili ng Icon down" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Ipakita Menu" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Displey ng Distansiya sa Pinagmulan ng Menu" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Gumawa ng Maikling Pagtabas sa Desktop" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Nagbago ang mga Eksel sa Teksto" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Lumaya ang mga Eksel sa Teksto" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Magpakita ng Maikling Pagputol Manonood" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Ipakita ang mga Desktop Icon" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Higit Pang Impormasyon" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Tahanan" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Pagkasiphayo" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Balutan" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Nasirang Kaugnayan" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Hindi mabuksan ang File na ito dahil ito ay isang Broken Symlink" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Pagmamaneho" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Mga kagustuhan" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "User" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Payagan" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Pag-unlad" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Default" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Command\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Mga kagustuhan" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "Walang \"${programName}\"" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Iluklok \"${programName}\" upang magawa ng mga Desktop Icon ang mga pagkilos " +"na ito." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Piliin ang Desktop Folder" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Hindi nasumpungan ang utos" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Pumili ng app para buksan ang napiling files." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Laging gamitin ang ganitong uri ng talaksan" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Canel" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Buksan" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Ipakita ang mga larawan sa desktop ngrkton" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"mga desktop;icon; profile; pepper; manager;arrange;hide;show;launcher; " +"shortcuts;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Ipakita<>Hide" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Mga kagustuhan" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Hindi Kaya" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Ang laki ng kono" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Ilagay ang laki para sa mga imahen sa ibabaw." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Magpakita ng personal na folder" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Ipakita ang folder sa desktop." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Ipakita ang larawan ng basura" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Ipakita ang larawan ng basura sa desktop." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Mga bagong imahen ang nagsisimula sa kanto" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Ilagay ang sulok kung saan magsisimulang ilagay ang mga imahen." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Ipakita ang panlabas na mga drive sa desktop" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Ipakita ang disk drives konektado sa computer." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Ipakita ang mga network drive sa desktop" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Ipakita ang naka-install na mga network volume sa desktop." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Magdagdag ng mga bagong drive sa kabilang panig ng screen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Kapag nagdaragdag ng mga drive at tomo sa desktop, idagdag ito sa kabilang " +"panig ng screen." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "" +"Ipinakikita ang isang parihaba sa patutunguhang lugar sa panahon ng DnD" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Kapag gumagawa ng Drag'Drop operation, markahan ang lugar sa grid kung saan " +"ilalagay ang icon sa pamamagitan ng semitransparent person." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Uring Pantanging mga Tagapangalaga - Tahanan/Trash Drives." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Kapag inaayos ang mga Icon sa desktop, upang mag - uri at baguhin ang " +"posisyon ng Tahanan, ang Tulun at ang TV o ang External Drives" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Panatilihing Nakaayos ang mga Imahen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "" +"Laging Panatilihin ang mga Imahen Isinaayos ng huling isinaayos na kaayusan" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Isaayos ang Kaayusan" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Mga Icon na Isinaayos ng ari - ariang ito" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Panatilihing Nababalutan ang mga Imahen" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Laging Icons Stacked, ang mga uring katulad nito ay pangkatin" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Uri ng mga Bukál na Hindi Lapat" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "" +"Isang Array ng mga uri ng kuwerdas, Huwag Putulin ang mga uring ito ng " +"talaksan" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Magdagdag ng emblema sa mga link" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Magdagdag ng emblema para matukoy ang malalambot na link." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Gumamit ng itim para sa tekstong label" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Pahiran ang tatak na teksto sa itim sa halip na puti. Kapaki - pakinabang " +"kapag gumagamit ng maiikling pinagmulan." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "" +"Ipakita ang bagong mga larawan sa hindi pangunahing monitor kung nakakonekta" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Kung ang ikalawang monitor ay konektado, bagong mga imahen ang inilalagay sa " +"non primary monitor" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ang mga imahen ay maaaring ilagay saanman sa Desktop" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ang mga imahen ay wala sa parihabang grid kundi maaaring ipaskil saanman " +"nang hiwalay sa grid" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +#, fuzzy +msgid "Show Desktop Widgets" +msgstr "Ipakita ang Desktop sa Filipinas" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Itago/Ipakita ang lahat ng mga bintana ng desktop" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Ipakita ang mga larawan sa desktop, o itago ang lahat ng ito" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Mga Maikling Pagputol na Ginagamit" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Override para sa default application shortcuts na itinakda ng User" diff --git a/ding/po/tr.po b/ding/po/tr.po new file mode 100644 index 0000000..17c751d --- /dev/null +++ b/ding/po/tr.po @@ -0,0 +1,2010 @@ +# Turkish translation for desktop-icons. +# Copyright (C) 2000-2022 desktop-icons's COPYRIGHT HOLDER +# This file is distributed under the same license as the desktop-icons package. +# +# Serdar Sağlam , 2019 +# Emin Tufan Çetin , 2019. +# Mahmut Elmas , 2020. +# Cihan Alkan , 2021. +# Fatih Altun , 2021. +# Sabri Ünal , 2019, 2022. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# LibreTranslate , 2023, 2024, 2026. +# Emin Demir , 2025, 2026. +# Hasan Kalaman , 2025, 2026. +# Sundeep Mediratta , 2026. +# Hasan Merkit , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-20 21:36+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Turkish \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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Üzerine Yaz" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Kısayollar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Kısayolları düzenle..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Uygulama Kısayollarını düzenle" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Kısayollar Sadece hazırlandığında anlaşılabilir..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Web tarayıcınızda çeviriye yardımcı olun" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Masaüstü" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Dosyalar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "İnce Ayarlar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Daha fazla" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Masaüstü Ayarları" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Masaüstü Programı için ayarlar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Masaüstü Klasörü" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Şimdiki Masaüstü: " + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Dosyalar Ayarlar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Gnome Dosyaları ile paylaşılan ayarlar" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Çeşitli İnce Ayarlar" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Masaüstü simgeleri boyutu" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Minik" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Küçük" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Standart" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Büyük" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Yeni simge hizalaması" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Sol üst köşe" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Sağ üst köşe" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Sol alt köşe" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Sağ alt köşe" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Varsa, önce ikincil monitörlere yeni simgeler ekleyin" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Simgeleri ızgaraya yerleştir" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Masaüstü parçacıkları" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Yeni Masaüstü Klasörü" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Masaüstü için yeni bir klasör ayarlayın" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Seçin" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Masaüstünü ~/ olarak geri ayarla" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Varsayılan Masaüstü Klasörünü Geri Yükle" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Geri yükleme" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Düşme ızgarasını vurgulayın" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Bağlantılar için bilgi amblemleri ekleyin, şifreleme" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Simge etiketlerinde koyu metin kullan" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Masaüstünde kişisel klasörü göster" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Masaüstünde çöp simgesini göster" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Masaüstünde harici sürücüleri göster" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Masaüstünde ağ sürücülerini göster" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Masaüstünün karşı tarafına yeni sürücüler ekleyin" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Açık Öğeleri Açma Eylemi" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Tek tıklama" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Çift tıklama" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Resim önizlemelerini göster" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Her zaman" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "Bu bilgisayarda sadece" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Asla" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Tamamen silmek için sağ tıkta seçenek göster" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Gizli dosyaları göster" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Sürüklenme üzerine açık klasörler" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Hakkında..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Çeviri çevirisi" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Machine LibreTranslate kullanarak tercüme edilmiştir. Kullanıcı Weblate'de " +"doğrulandı ve düzenledi." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Çevirileri Düzenle" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Doğrulama, web tarayıcınızda eklemek veya doğru çeviri eklemek" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Çeviri çevirisi" + +# MT: LibreTranslate +#: app/appChooser.js:78 +#, fuzzy +msgid "Choose an application to open {foo}" +msgstr "out {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Açık öğeler" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Open Folder" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Open File" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Hata değişen varsayılan uygulama" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Invalid Permissions on AppImage File" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Bu AppImage File yanlış izinlere sahiptir." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Doğru Özellikler düzenlemek için tıklayın, sonra:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Set Permissions, in in in" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Diğerleri Access Access" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Sadece okuyun" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "veya" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Hiçbir şey yok" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Enable seçenek" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Dosyayı bir program olarak yürütmeye izin verin" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Yeminsiz AppImage File" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Bu App Resim dosyası güvenilir değildir, başlatılamaz." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Başlatmak için, doğru tıklama, sonra:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "enable" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Başlatmaya İzin Ver" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Klasör adı" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Dosya adı" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "Tamam" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Yeniden Adlandır" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Auto Auto Auto Auto Ar yüklü değil" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Sıkıştırılmış dosyalarla çalışabilmek için, file-roller ve/veya z-1.2-gnome " +"AutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Dosyalar" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Açıklama dosyaları" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "İptal" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Burada bir şifre girin" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Hedef klasörü oluşturmak" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "out '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Ekstraksiyon tamamlandı tamamlandı" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "out '${fullPathFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "" +"Ekstraksiyon iptali iptali iptal iptal iptali iptal iptal iptali iptal iptal " +"iptal iptali iptali iptal iptal iptal iptal iptal iptal iptal iptal iptal " +"iptal iptali iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal " +"iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal " +"iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal " +"iptal iptal iptal iptal iptal iptal iptal iptal iptal iptali iptal iptal " +"iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal " +"iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal " +"iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal " +"iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal " +"iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal " +"iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptali iptal " +"iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptali " +"iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal " +"iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal " +"iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal " +"iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal " +"iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal " +"iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal " +"iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal iptal " +"iptal iptal iptal iptal iptal iptal" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "out '${fullPathFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "out ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Ekstraksiyon sırasında hata" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Tamamlandı" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "İptal Edildi" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Frekans sırasında hata" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Create archive archive" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Arşiv adı" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Şifre" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Create" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Tüm işletim sistemleri ile uyumlu." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Şifre korumalı .zip, Windows ve Mac üzerinde kurulmalıdır." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Küçük arşivler ama Linux ve Mac sadece." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Küçük arşivler ancak Windows ve Mac üzerinde kurulmalıdır." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Ekranlı Masaüstü başkaları tarafından takdir edilebilir" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop dosyaları bu Masaüstü Folder'in diğer kullanıcılar tarafından takdir " +"edilebilir olduğu gibi başlatılamaz.\n" +"\n" +"Lütfen bu Masaüstü Folder'in izinlerini kontrol edin ve başkaları tarafından " +"takdir edilemez olduğundan emin olun." + +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Kırık Masaüstünü Dosyası" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Bu .desktop dosyası izinsiz bir programa hataları veya puanları vardır. Bu " +"idam edilemez.\n" +"\n" +"Doğru executable programı ayarlamak için dosyayı analiz edin." + +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Masaüstü Dosyası İzinleri Hatalı" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Bu Masaüstü Dosyası yanlış İzinlere sahiptir." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Olmayan Masaüstü Dosyası" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Bu Masaüstü dosyası güvenilir değildir, başlatılamaz." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Açıklanamaz Dosya" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} Bu Tip dosyaları açamaz!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Masaüstü Folder Değişim Başarısız Oldu" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Yeni Masaüstü Folder bir Sembolik Link" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Yeni Masaüstü Folder mevcut değil veya bir Folder değil!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Masaüstü Folder Değişir" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Yeni Masaüstü'ye geçiş yapın..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Masaüstü Icons" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Update Desktop" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Araç ekle" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Monitor Buffer Scaling etkinleştirilmedi" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Farklı zoom ayarları ile çoklu monitörler, çerçevebuffer ölçeklendirmeyi " +"tavsiye eder.\n" +"\n" +"Lütfen Mutter Dconf Ayarlarında etkinleştirin" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Farklı zoom ayarları ile çoklu monitörler.\n" +"\n" +"Mutter Dconf Ayarları'nda değiştirilebilir mi?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Enable" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Masaüstü göstermeyebilir" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "out {desktop}" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "out {desktop}" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "GNOME Dosyalar bulunamadı" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "GNOME Dosyalar uygulama Gtk4 Desktop Icons NG tarafından gereklidir." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Varsayılan File Manager yok" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Mimetype \"inode/yön\" ile uğraşan bir uygulama yoktur" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome Files bir File Manager olarak kaydedilmiyor" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Gnome Files uygulaması açık Folders için programlanmamıştır!\n" +"xdg-utils kurulumunuzu kontrol edin\n" +"Gnome Files .desktop Dosya yükleme" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Yeni aramadan önce mevcut seçim" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Masaüstündeki Dosyaları Bul" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Yeni Klasör" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Kater Yaratılış Başarısız" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Klasörü oluşturamaz" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Gnome Files'da Masaüstü açmak için kullanılamaz" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Tercihler Pencere Açık" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Bu pencere açık. Lütfen aktif pencereye geçiş yapın." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Ayarlar" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Şablon oluşturma hatası" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Belge oluşturmayabilir" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Name" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Ad Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Değiştirilmiş Zaman" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Tipi" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Boyut Boyutu" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Arranged'ı tut.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Tip tarafından takılmış olun.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Sort Home/Drives /Trash.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Change Desktop" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Geri Döndürme Masaüstü" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Masaüstü Icon Ayarlar" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Show Shortcuts" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Yeni Belge" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Yapıştır" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Geri Al" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Yinele" + +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Tümünü Seç" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Simgeleri Sırala" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Arrange By.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "out {0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Widget'ları düzenle" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell Menu.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "SymLink Başarısız Oldu" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Sembolik bağlantı oluşturmayabilir" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Copy/Move Failed" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} Mevcut değil" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Dosyalar için Eylem seçin" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Move" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Kopyala" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Link" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Folder" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Dosya" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Açılış Dosyası Başarısız" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "out \"{fo}\"" + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "{0} öge ile yeni klasör" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Tümünü Aç..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Lans" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "out {foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Aç" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Buraya Çıkar" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Şuraya Çıkar…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Open With..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Tümünü Başka Uygulamayla Aç..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Entegre Grafik Kartı kullanmaya başlayın" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Bu Tür" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Unstack This Type" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Bir Program Olarak Run" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Betikler" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Kes" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Move to..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Kopyala..." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Yeniden Adlandır…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Create Link..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "out {0}" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "{0} dosyayı sıkıştır" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "E-posta..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Mobile Device'a gönder" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Çöpe Taşı" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Tamamen Sil" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Başlatmaya İzin Verme" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Çöpü Boşalt" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Çıkar" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Bağı Kaldır" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Ortak Özellikler" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Özellikler" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Open Item" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Ekstraksiyon Cancelled" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Çıkarılabilir Dosya, hedef klasörü yok" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Hedef seçin" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Seç" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Bir dizine e-posta gönderilemez" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Seçme bir Rehber içerir, ilk önce bir .zip dosyasına sıkıştırır mı?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Mail Hata" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Zip komutunu bulmak için, lütfen programı yükleyin" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Archive.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Bir zip arşivi oluşturmak için bir hata vardı" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Xdg-email bulmak için, lütfen programı yükleyin" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "E-posta dosyalarında bir hata vardı" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Çalışma Kılavuzunu Açamaz" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Gnome Console'da Açılabilir" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Lütfen Gnome Console veya diğer Terminal Programını yükleyin" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Kopya Cancelled" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Dosyalar kopyalamak için kullanılamaz, hedef klasörü yok" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Move Cancelled" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Files'ı hareket etmek için kullanılamaz, hiçbir destinasyon klasörü" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$ $ bu Type dosyaları açamaz!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Konsol" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Varsayılan Kısa:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Type new..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modifier + Key (e.g. Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "Varsayılan olarak" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Hiçbir Hızlandırıcı" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "System Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Common System Defined Finger Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Local Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Uygulama Klavye Kısakes" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Global Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "System Finger Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Finger Shortcuts" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Kısa kesimler" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Tüm kısayolları Temsillere Getirin" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Bütün..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Show Desktop in Files" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Uçbirimde Aç" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Değişim Planı" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Change Display Ayarlar" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Change Desktop Icon Ayarları" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Temiz Up Icons" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Keep Arranged" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Keep Stacked" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Sort Special Folders" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Ad" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Arange Icons By Descending Name" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Değiştirilmiş Zaman Tarafından Arrange Icons By Modified Time" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Arrange Icons Yemin olsun" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Arrange Icons Tarafından Boyut" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Dosyaları bulun" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Update Desktop" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Show Hidden Files" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Unselect All" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Öfke" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Araç ekle" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Icon Left" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Icon Right" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Icon Up" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Icon Down" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Show Menu" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Ekran Shell Arka Plan Menü" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Create Desktop Shortcut" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Text entry Accels Turn On" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Text entry Accels Turn Off Off" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Show Shortcut Viewer" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Show Or Hide Desktop Icons" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Daha Fazla Bilgi" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Ev" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Trash" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Stack" + +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Kırık Link" + +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Bozuk bir Sembolik Bağlantı olduğu için bu Dosya açılamıyor" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Drive" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Tercihler" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "Kullanıcı" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "İzin ver" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Sıkı" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Esnek" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Gelişim" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Varsayılan" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Komut:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Tercihler" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\"" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "out \"${programName}\"" + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Masaüstü Folder seçin" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Komut Bulunamadı" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Seçilen dosyaları açmak için bir uygulama seçin." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Her zaman bu dosya türü için kullanın" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_Cancel" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Open" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "GNOME masaüstü ikonları" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"masaüstü;icons;files;folders;manager;arrange;hide;show; başlatıcı; linecuts;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Show<>Hide" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Tercihler" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Engelliler" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Simge boyutu" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Masaüstü simgelerinin boyutunu ayarla." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Kişisel klasörü göster" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Kişisel klasörü masaüstünde göster." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Çöp kutusunu göster" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Çöp kutusu simgesini masaüstünde göster." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Yeni simgelerin başlangıç köşesi" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Simgelerin nereden itibaren hizalanacağını ayarla" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Harici sürücüleri masaüstünde göster" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Bilgisayara bağlı disk sürücülerini göster." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Ağ sürücülerini masaüstünde göster" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Masaüstünde bağlı ağ birimlerini göster." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Ekranın karşı tarafına yeni sürücüler ekle" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Masaüstüne sürücüler ve birimler eklerken, bunları ekranın karşı tarafına " +"ekle." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "DND sırasında hedef yerde bir dikdörtgen gösterir" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"Bir Sürükle Bırak işlemi yaparken, simgenin yarı saydam bir dikdörtgenle " +"yerleştirileceği ızgaradaki yeri işaretler." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Özel Klasörleri Sırala - Ev/Çöp Sürücüler." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"Masaüstündeki simgeleri düzenlerken, Ev, Çöp Kutusu ve takılı Ağ veya Harici " +"Sürücülerin konumunu sıralamak ve değiştirmek için" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Simgeleri Düzenli Tut" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Simgeleri son sıralama düzenine göre daima düzenli tut" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Sıralama Düzeni" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Simgeler bu düzene göre sıralandı" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Icons Stacked" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Her zaman Icons Stacked kalır, Benzer türler gruplanır" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Yığılı tutulmayacak dosyaların türü" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Bir dizi dize türü, bu tür dosyaları yüklemeyin" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Bağlantılara amblem ekle" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Yumuşak bağlantıları tanımlamak için bir amblem ekleyin." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Etiket metni için siyah kullan" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Beyaz yerine etiket metni kara renkte. Işık arka planlarını kullanırken " +"kullanışlı." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Bağlantıya bağlı olarak yeni simgeler göster" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"İkinci bir monitör bağlanırsa, yeni simgeler birincil monitörlere " +"yerleştirilir" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Icons, herhangi bir yerde masaüstünde konumlandırılabilir" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Icons, dikdörtgen bir ızgarada değildir, ancak gridden bağımsız olarak " +"herhangi bir yere aktarılabilir" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Masaüstü parçacıkları" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Gizle/ Tüm masaüstü pencerelerini göster" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Masaüstündeki ikonları göster veya hepsini gizleyin" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "User Application Shortcuts" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "" +"Kullanıcı tarafından belirlenen varsayılan uygulama kısayolları için Override" diff --git a/ding/po/uk.po b/ding/po/uk.po new file mode 100644 index 0000000..71c6a43 --- /dev/null +++ b/ding/po/uk.po @@ -0,0 +1,1993 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# Stanisław Zadorozhnyi , 2021. +# Weblate Translation Memory , 2023, 2024, 2025, 2026. +# Weblate , 2023, 2024, 2025, 2026. +# LibreTranslate , 2023, 2024, 2026. +# Yevhen Popok , 2024, 2025, 2026. +# Andrij Zyniuk , 2024, 2025, 2026. +# Herbatka , 2025, 2026. +# "Іван Мах (Ivanet_)" , 2025. +# Василь Мариняк , 2025, 2026. +# Sundeep Mediratta , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-20 22:50+0000\n" +"Last-Translator: Weblate \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=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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "Перевизначити" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "Шорти" + +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "Редагувати клавіатурні скорочення..." + +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "Редагувати ярлики програм" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "Шорти Редагування тільки при розширенні Увімкнути ..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "Допомога перекладу в веб-переглядачі" + +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "Робочий стіл" + +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "Файли" + +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "Налаштування" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "Детальніше" + +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "Налаштування робочого столу" + +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "Налаштування робочого столу" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "Настільний склад" + +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "Робочий стіл: " + +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "Налаштування файлів" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "Налаштування спільного з файлами Gnome" + +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "Різні налаштування" + +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "Розмір піктограм на стільниці" + +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "Дуже малий" + +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "Малий" + +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "Стандартний" + +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "Великий" + +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "Вирівнювання для нових піктограм" + +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "Верхній лівий кут" + +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "Верхній правий кут" + +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "Нижній лівий кут" + +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "Нижній правий кут" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "Додайте нові іконки до вторинних моніторів спочатку, якщо це можливо" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "Snap ікони в сітку" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "Віджети стільниці" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "Нові настільні папки" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "Встановіть нову папку для робочого столу" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "Обрати" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "Налаштування робочого столу до ~ /" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "Відновити за замовчуванням Desktop Folder" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "Відновити" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "Виділіть падіння сітки" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "Додавання інформаційних емблем для посилань, шифрування" + +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "Використати темний текст на підписах до піктограм" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "Показати персональну папку на робочому столі" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "Показати значок сміття на робочому столі" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "Показати зовнішні диски на робочому столі" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "Показати мережеві диски на робочому столі" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "Додати нові диски на протилежну сторону робочого столу" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "Акція на відкриті товари" + +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "Одинарний клік" + +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "Подвійний клік" + +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "Показати мініатюру зображення" + +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "Завжди" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "На цьому комп'ютері тільки" + +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "Ніколи" + +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "Додати пункт \"Вилучити остаточно\" у контекстне меню" + +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "Показувати приховані файли" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "Відкрийте папки на перетягування" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "Про..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "Переклад" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"Машина перекладається за допомогою LibreTranslate. Користувач перевірив і " +"редагував на Weblate." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "Редагування перекладів" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "Перевірити, додати або виправити переклад у вашому браузері" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "Переклад" + +# MT: LibreTranslate +#: app/appChooser.js:78 +#, fuzzy +msgid "Choose an application to open {foo}" +msgstr "Виберіть програму для відкриття {foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "Відкрити товари" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "Відкритий склад" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "Відкритий файл" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "Зміна помилок за замовчуванням" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "Неточні дозволи на файлі AppImage" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "Цей файл AppImage має неправильні дозволи." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "Клацніть правою кнопкою миші для редагування властивостей, потім:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "Комплект пропусків, в" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "Інший доступ" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "Детальніше" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "або" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "Ні" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "Увімкнути варіант" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "Дозволити виконання файлів в рамках програми" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "Недовірений файл додатків" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "Додаток Файл зображень не довіряється, він не може бути запущений." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "Щоб включити запуск, клацніть правою кнопкою миші, потім:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "увімкнути" + +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "Дозволяти запуск" + +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "Назва теки" + +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "Назва файлу" + +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "Ок" + +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "Перейменувати" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "Автоматика Ар не встановлений" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"Для роботи з стисненими файлами встановіть файл-роликовий та/або gir-1.2-" +"gnome Автоархів" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "Вилучення файлів" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "Складання файлів" + +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "Скасувати" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "Введіть пароль" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "Видалення часткового файлу '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "Створення папки призначення" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "Вилучення файлів в '${outputPath}'" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "Видобуток завершено" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "Видобуток '${fullPathFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "Вилучення скасовано" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "Вилучення '${fullPathFile}' скасовано користувачем." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "Пасфрайс, необхідний для ${filename}" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "Помилка при екстракції" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "Складання файлів в '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "Стиснення завершено" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "Завершено стиснення файлів в '${outputFile}'." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "Скасований стиснення" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "Вихідний файл '${outputFile}' вже існує." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "Складання файлів в '${outputFile}' скасовано користувачем." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "Помилка при стисканні" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "Створення архіву" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "Назва архіву" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "Логін" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "Зареєструватися" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "Сумісний з усіма операційними системами." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "Пароль захищений .zip, необхідно встановити на Windows і Mac." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "Малі архіви, але тільки Linux і Mac." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "Більші архіви, але повинні бути встановлені на Windows і Mac." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "Відображений робочий стіл є жорстким для інших" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop файли не можуть бути запущені з цього робочого столу, як настільний " +"комп'ютер, доступний іншим користувачам.\n" +"\n" +"Будь ласка, перевірте дозволи цього вкладника робочого столу, і " +"переконайтеся, що це не дратує інших." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "Broken Desktop Файл" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"Цей файл .desktop має помилки або точки до програми без дозволу. Не можна " +"виконувати.\n" +"\n" +"Редагувати файл, щоб встановити правильну програму." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "Invalid дозволи на настільний файл" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "Цей файл робочого столу має неправильні дозволи." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "Ненадійні файли робочого столу" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "Цей файл робочого столу не довіряється, він не може бути запущений." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "Не вдалося відкрити Головна" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} не може відкрити файли цього типу!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "Настільний склад Змінення" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "Новий настільний комп'ютер є символічним посиланням" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "Новий настільний комп'ютер не існує або не є складником!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "Настільні папки змінені" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "Переключення на новий робочий стіл ..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "Настільні іконки" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "Оновлення робочого столу" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "Додати віджет" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "Монітор рамки Buffer Скальлінг не ввімкнено" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"Кілька моніторів з різними налаштуваннями зоопарку, рекомендуємо " +"контролювати масштабування кадрів.\n" +"\n" +"Будь ласка, ввімкніть налаштування Mutter Dconf" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"Кілька моніторів з різними налаштуваннями масштабу.\n" +"\n" +"Увімкнути для моніторування каркасного масштабування в налаштуваннях Mutter " +"Dconf?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "Увімкнути" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "Може не показати Desktop" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"Теки для робочого столу {desktop}\n" +"\n" +"Будь ласка, встановіть прапорець робочого столу на реальний складник" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"Теки для робочого столу {desktop} не існує, або не є каталогом\n" +"\n" +"Перевірити установку xdg-utils і встановити правильний Настільний склад" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "ГНОМЕ Файли не знайдені" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "ГНОМЕ Файли, які необхідні для Gtk4 Desktop Icons NG." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "Немає диспетчера файлів за замовчуванням" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "Не існує програми, які керують mimetype \"inode/directory\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Файли Gnome не зареєстровані як файловий менеджер" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Додаток Gnome Files не запрограмований для відкритих папок!\n" +"Перевірити установку xdg-utils\n" +"Перевірити Gnome Файли .desktop Встановлення файлів" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "Очистити поточний вибір перед новим пошуком" + +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "Пошук файлів на стільниці" + +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "Створити теку" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "Складання папки" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "Не вдалося створити папку" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "Неможливо відкрити робочий стіл у файлах Gnome" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "Налаштування вікна Відкрити" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "Це вікно відкрито. Будь ласка, ввімкніть активний вікно." + +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "Параметри" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "Помилка створення шаблону" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "Чи не створювати документ" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "Ім'я" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "Назва Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "Число завантажень" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "Тип" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "Розмір" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "Тримайте.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "Тримайте Stacked by Type .." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "Сортувати Головна/Drives/Trash .." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "Зміна робочого столу" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "Відновлення за замовчуванням Desktop" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "Настроювання іконок робочого столу" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "Показати шорти" + +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "Створити документ" + +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "Вставити" + +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "Відмінити" + +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "Повторити" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "Виберіть все" + +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "Впорядкувати" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "Аранжувати по .." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "{0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "{0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "Редагувати віджети" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Шпалери" + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "Виготовлення SymLink В’язаний" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "Не створювати символічні посилання" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "Статус на сервери" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0}] Не існує" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "Виберіть дію для файлів" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "Мов" + +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "Копіювати" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "Посилання" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "Склад" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "Головна" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "Відкриття файлу" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "Відкриваємо файли \"{fo}\"." + +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "Нова тека з {0} елементом" +msgstr[1] "Нова тека з {0} елементами" +msgstr[2] "Нова тека з {0} елементами" + +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "Відкрити все..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "Увійти" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "{foo}" + +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "Відкрити" + +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "Розпакувати сюди" + +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "Розпакувати до..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "Відкрити з ..." + +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "Відкрити все в іншій програмі..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Запуск за допомогою інтегрованої картки графіки" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "Стейк це тип" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "Unstack Цей тип" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "Запуск програми" + +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "Скрипти" + +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "Вирізати" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "Перемістити..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "Партнерство." + +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "Перейменувати…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "Створити посилання." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "Стиснути {0} папку" +msgstr[1] "Стиснути {0} папку" +msgstr[2] "Compress {0} папки" + +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "Стиснути {0} файл" +msgstr[1] "Стиснути {0} файли" +msgstr[2] "Стиснути {0} файлів" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "Електронна пошта." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "Відправити мобільний пристрій" + +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "Перемістити у смітник" + +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "Вилучити остаточно" + +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "Не дозволяти запуск" + +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "Спорожнити смітник" + +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "Витягти" + +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "Демонтувати" + +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "Спільні властивості" + +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "Властивості" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "Показати всі {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "{0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "{0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "Відкритий товар" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "Вилучення скасовано" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "Витратити Файл, немає папки призначення" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "Виберіть напрямок" + +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "Виділити" + +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "Неможливо відправити теку електронною поштою" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "Вибір включає в себе каталог, компрес в файл .zip спочатку?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "Помилка електронної пошти" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "Неможливо знайти команду zip, будь ласка, встановіть програму" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "Архів.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "Помилки в створенні архіву zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Неможливо знайти xdg-email, будь ласка, встановіть програму" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "Був помилку у файлах електронної пошти" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "Не може відкрити Робочий каталог" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "Неможливо відкрити в консолі Gnome" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "Будь ласка, встановіть консолі Gnome або іншу програму терміналу" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "{0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "Встановити {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "Статус на сервери" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "Неможливо скопіювати файли, папки призначення" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "Переміщення" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "Неможливо перемістити файли, папки призначення" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ не може відкрити файли цього типу!" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "Консоль" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "Шрифт за замовчуванням:" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "Тип нового ..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Модифікатор + ключ (наприклад, Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "За замовчуванням" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "Немає прискорювача" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "Системні шорти" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "Загальні системи занурених брекетів" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "Місцеві ярлики" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "Параметри клавіатури додатків" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "Глобальні шорти" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "Системні комбінації клавіатури" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "Клавіатури клавіатури" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "Знижувати шорти" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "Перезавантажити всі ярлики за замовчуванням" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "Відновити всі ..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "Показати робочий стіл у файлах" + +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "Відкрити в терміналі" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "Зміна фону" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "Зміна параметрів відображення" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "Зміна параметрів іконки робочого столу" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "Очистити іконки" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "Зареєструватися" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "Зареєструватися" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "Сортувати спеціальні складки" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "Ікона композиція з ім'ям" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "Аранжувальні ікони по спаданню" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "Ікона композиція Модифікований час" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "Ікона композиція Додому" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "Аранжувальні ікони за розмірами" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "Знайти файли" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "Оновлення робочого столу" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "Показати приховані файли" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "Невиберіть все" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "Огляд" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "Додати віджет" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "Підібрати Ікону" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "Підібрати Ікона Право" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "Виберіть іконку Вгору" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "Виберіть Ікону вниз" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "Показати меню" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "Дисплей Shell фонове меню" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "Створіть рядок робочого столу" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "Текстові підкладки Turn on" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "Text Entry Accels Ввімкніть" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "Показувати ярлик Вибратор" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "Показати або приховати робочі іконки" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "Більше інформації" + +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "Домівка" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "Траш" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "Стейк" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "Брокен посилання" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "Не може відкрити цей файл, оскільки він є Broken Symlink" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "Приват" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "Налаштування" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "User" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "Дозволити" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "Суворий" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "Розслаблений" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "Розвиток" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "За замовчанням" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "Команда:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "Налаштування" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" не доступний" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"Встановити \"${programName}\", щоб увімкнути іконки для виконання цих дій." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "Виберіть Desktop Folder" + +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "Команда не знайдена" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "Виберіть програму для відкриття вибраних файлів." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "Завжди використовуйте для цього типу файлів" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "Українська" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_Відкрито" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "Показати іконки на робочому столі GNOME" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "" +"робочий стіл;кони;файли; мангери; ланч; ходовий; шоу; лущильник;коротки;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "Показати <>Приховати" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "Налаштування" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "Вимкнути" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "Розмір піктограми" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "Встановити розмір піктограм на стільниці." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "Показати домашню теку" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "Показувати особисту теку на стільниці." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "Показувати піктограму смітника" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "Показувати піктограму смітника на стільниці." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "Нові піктограми розташовуються у куті" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "Встановіть кут, з якого піктограми почнуть розташовуватись." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "Показувати змінні носії на стільниці" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "Показувати диски, підключені до комп'ютера." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "Показувати мережеві носії на стільниці" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "Показувати змонтовані мережеві розділи на стільниці." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "Додавати нові змінні носії до протилежного боку екрану" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"Коли додаються нові диски та розділи на стільницю, розташовувати їх на " +"протилежній стороні екрану." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "Показувати прямокутник в місці призначення під час перетягування" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"При виконанні переміщення, місце куди буде розміщено піктограму, буде " +"позначатися напівпрозорим прямокутником." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Сортувати спеціальні теки - Домівка/Смітник/Диски." + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"При розміщенні піктограм на стільниці, для сортування і зміни розташування " +"Домівки, Смітника та підключених локальних і мережевих дисків" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "Зберігати вирівнювання піктограм" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "Завжди зберігати вирівнювання піктограм за їх останнім порядком" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "Порядок вирівнювання" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "Вирівнювання піктограм за цією властивістю" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "Ікона під старовину Святитель" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "Завжди зберігайте іконки, що стикуються, схожі типи групуються" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "Тип файлів, щоб не стояти" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "Арра типів рядків, не стукайте ці типи файлів" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "Додати емблему до посилань" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "Додати емблему, щоб визначити м'які посилання." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "Використовуйте чорний для тексту етикетки" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"Пофарбуйте текст етикетки в чорному замість білого. Корисно при використанні " +"світлих фонів." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "Показати нові іконки на не первинному моніторі, якщо підключено" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"Якщо підключено другий монітор, на первинному моніторі розміщені нові іконки" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "Ікони можуть розташовуватися в будь-якому місці на робочому столі" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"Ікони не на прямокутній сітці, але можуть бути розміщені в будь-якому місці " +"незалежно від сітки" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "Віджети стільниці" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "Показати всі вікна робочого столу" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "Показати іконки на робочому столі, або приховати всі" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "Шорти додатків користувача" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "Перевизначення за шорти за замовчуванням, встановленими Користувачем" diff --git a/ding/po/ur.po b/ding/po/ur.po new file mode 100644 index 0000000..0f19d34 --- /dev/null +++ b/ding/po/ur.po @@ -0,0 +1,2076 @@ +# Urdu translations for gtk4-ding package. +# Copyright (C) 2025 THE gtk4-ding'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Automatically generated, 2025. +# +# Weblate , 2025, 2026. +# Sundeep Mediratta , 2026. +# Weblate Translation Memory , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:10+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Urdu \n" +"Language: ur\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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "مختصر" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "مختصر قسط مرتب کرو..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "صارف کی تدوین" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "مختصر محفوظ صرف اس وقت..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "اپنی ویب براؤزر میں ترجمہ کرنے میں مدد" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "چین" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "فائلز" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "رنگ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "مزید" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "تنصیب کی ترتیبات" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "منظم پروگرام کی ترتیبات" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "فولڈر" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "حالیہ غلطی:" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "فائلیں ترتیبات" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "گانم فائلوں کے ساتھ ترتیبات" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "مِس رنگ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "ڈیسک ٹاپوں کے لیے حجم" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "مصر" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "چھوٹا" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "معیار" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "بڑی" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "نئی تصاویر" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "اوپر بائیں جانب" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "دا ئیں کونے" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "بائیں جانب کونے" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "صحیح کونے میں نیچے" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "اگر دستیاب ہو تو پہلے نئے اصناف کو دوسرے درجے پر شامل کریں" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "گلّے کی تصاویر" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +#, fuzzy +msgid "Show desktop widgets" +msgstr "فائلیں شامل کریں" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "نیا فولڈر" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "ڈیسک ٹاپ کے لیے نیا فولڈر بنائیں" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "منتخب کریں" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "~/کے لئے دوبارہ موڑ دیں" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "طے شدہ فولڈر" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "مصر" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "گري رنگ کو روشن کرنا" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "لنکس کیلئے معلومات شامل کریں ، ترتیبات" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "تصاویر لیبل میں تاریک متن استعمال کریں" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "ڈیسک ٹاپ پر ذاتی فولڈر دکھائیں" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "ڈیسک ٹاپ پر آن لائن تصویر دکھائیں" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "ڈیسک ٹاپ پر بیرونی ڈرائیور دکھا وٴ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "ڈیسک ٹاپ پر نیٹ ورک انسٹال کریں" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "ڈیسک ٹاپ کی مخالف سمت میں نئے ڈرائیور شامل کریں" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "اصلاحی کام" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "واحد کلک" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "ڈبل کرو" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "طےشدہ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "ہمیشہ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "اس کمپیوٹر پر صرف" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "کبھی نہیں" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "صارف کو مستقل طور پر خارج کرنے کے لیے االله کے نام کا رد کریں" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "فائلیں شامل کریں" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "بغلی پٹی کھولیں" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "کے بارے میں..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "ترجمہ" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "" +"مشینوں نے لیبر ٹریسلیٹ کا استعمال کیا۔ صارفین نے ویب سائٹ پر تصدیق اور ترمیم " +"کی۔." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "تدوین" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "اپنے ویب براؤزر میں شامل، جمع یا درست ترجمہ۔" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "عبارت" + +# MT: LibreTranslate +#: app/appChooser.js:78 +#, fuzzy +msgid "Choose an application to open {foo}" +msgstr "کھولنے کے لیے اطلاقیہ منتخب کریں{foo}" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "کھولیں" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "فولڈر کھولیں" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "فائل کھولیں" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "اتصال مدون کا ڈائیلاگ تبدیل کرنے میں غلطی" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "ایپیگی فائل پر غیر قانونی اجازت" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "اس ایپیٹ فائل کو غیر قانونی اجازت ہے۔." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "پرو فا ئل ترمیم کرنے کے ليے صحيح ، پھر:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "اجازت نامہ، میں" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "دیگر رسائی" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "صرف پڑھیے" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "یا" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "کچھ نہیں" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "انتخاب فعال کریں" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "فائل کو پروگرام کے طور پر ترتیب دینے کی اجازت دیں" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "غیر معتبر فائل" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "یہ ایپ تصویر عدم اعتماد نہیں، اسے لانچ نہیں کیا جا سکتا۔." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "ٹھیک ہے، ٹھیک ہے" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "قابل" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "لانچنگ کی اجازت دیں" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "فولڈر کا نام" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "فائل کا نام" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "ٹھیک" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "نام بدلیں" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "خودکار آر نصب نہیں ہوئی" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "" +"نصب شدہ فائلیں کے ساتھ کام کرنے کے قابل ہو سکتے ہیں، فائل-رولر اور/یا " +"Gir-1.2-Mobile خود کار" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "فائلیں نکالی جارہی ہیں" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "فائلیں شامل کریں" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "منسوخ" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "پاس ورڈ داخل کریں" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "out '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "سمت فولڈر بنائیں" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "'${outputPath}' میں فائلیں نکالی جارہی ہیں" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "نکالنا مکمل ہوا" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "'${fullPathFile}' ڈاؤن لوڈ کی گئی۔." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "نکالنا" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "'${fullPathFile}' کو صارف نے منسوخ کر دیا ہے۔." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "${filename} کے لئے درکار ہے۔" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "نکالنے کے دوران غلطی" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "'${outputFile}' میں فائلیں تقسیم کریں" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "دباؤ مکمل ہوا" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "'${outputFile}' میں فائلیں تقسیم کرنا." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "دباؤ کا شکار ہو سکتا ہے" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "برآمد '${outputFile}' پہلے ہی موجود ہے۔." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "'${outputFile}' میں فائلوں کو صارف نے منسوخ کر دیا ہے۔." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "دباؤ کے دوران غلطی" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "محفوظہ بنائیں" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "محفوظہ کا نام" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "پاس ورڈ" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "بنائیں" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "تمام آپریٹنگ سسٹمز سے جڑے رہے۔." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "پاس ورڈ محفوظ.zip، ونڈو اور میک پر نصب ہونا ضروری ہے." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "کوچر محفوظات مگر لینکس اور میک صرف." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "کوچر آرکائیو لیکن ونڈوز اور میک پر نصب ہونا چاہیے۔." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "دی گئی نمائش دوسروں کی طرف سے قابل قبول ہے۔" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop فائلوں کو اس ڈرم سے شروع نہیں کیا جا سکتا جیسا کہ ایم ایل ایل خان " +"دوسرے صارفین کی طرف سے لکھا گیا ہو۔\n" +"\n" +"برائے مہربانی اس فولڈر کے اجازے چیک کریں، اور اس بات کو یقینی بنائیں کہ یہ " +"دوسروں کی طرف سے تحریر شدہ نہیں ہے." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "فائل رولر" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"%desktop فائل بغیر اجازت کے کسی پروگرام کی غلطی یا پوائنٹ رکھتا ہے۔ اسے " +"سزائے موت نہیں دی جا سکتی۔\n" +"\n" +"درست انتخابی پروگرام مرتب کرنے کے لیے فائل مدون کریں." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "فائل رولر کی اجازت میں" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "اس فائل کو غیر قانونی اجازت ہے." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "فائل رولر کی نا منتخب کی گئی" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "یہ فائل قابل اعتماد نہیں، اسے لانچ نہیں کیا جا سکتا۔." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "نہیں کھولا جاسکتا فائل" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} اس قسم کی فائلیں نہیں کھولی جا سکتی۔!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "فولڈر تبدیل کرنے میں ناکامی" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "نیا پلگ ان لائن ہے" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "نیا جنکشن فولڈر وجود میں نہیں آیا اور نہ ہی فولڈر ہے۔!" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "سمت فولڈر تبدیل کریں" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "نیا یو ." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "فائلز" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "طےشدہ" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "ویجیٹ شامل کریں۔" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "مینارِنگہبانی سکیلنگ ممکن نہیں" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"مختلف نظاموں کے ساتھ بہت سے میناروں پر کام کرنے کی سفارش کرتے ہیں ۔\n" +"\n" +"براہ مہربانی منٹر Dconf ترتیبات میں قابل ذکر ہیں۔" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"مختلف نظاموں کے ساتھ متعدد مینار۔\n" +"\n" +"کیا آپ کو معلوم ہے ؟?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "فعال کریں" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "طےشدہ" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"سمت فولڈر {desktop}\n" +"\n" +"براہ کرم فولڈر کو حقیقی فولڈر میں شامل کریں" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"حسابِ ابجد {desktop} میں موجود نہیں ہے یا کوئی ڈائریکٹر نہیں ہے۔\n" +"\n" +"اپنے Xdg-utils کی تنصیب پڑتال کریں اور صحيح خانه کو مرتب کريں" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "گنوم فائلیں نہیں پائی گئی" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "گنوم فائلیں استعمال کی جارہی ہیں:." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "فائل رولر نہیں پائے گا" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "" +"کوئی بھی اطلاق نہیں ہوتا جس میں ممی ٹائپ \"انود/ سمتیہ\" کو ہینڈل کیا جاتا " +"ہے۔" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "گم شدہ فائلیں فائل منیجر کے طور پر درج نہیں ہیں۔" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"گم شدہ فائلیں کھولنے کے لئے پروگرام نہیں ہیں!\n" +"اپنے Xdg-utils انسٹال کریں\n" +"چیک کریں Gnome فائل۔۔۔desktop فائل نصب کی جارہی ہے" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "نئی تلاش سے پہلے موجودہ انتخاب کریں" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "فائلز پر فائلیں تلاش کریں" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "نیا فولڈر" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "فولڈر بنانے میں ناکامی" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "فولڈر نہیں بنایا جاسکتا" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "گمے فائلیں میں کھولنے میں ناکام" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "آن لائن ونڈو کھولیں" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "یہ ونڈوز کھلی ہے۔ براہ کرم فعال ونڈو میں تبدیل کریں." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "ترتیبات" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "غلطی" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "دستاویز نہیں بنایا جاسکتا" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "نام" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "نام زی اے -" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "تبدیل شدہ:" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "قسم" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "حجم" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "محفوظ رکھیں.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "قسم کے استعمال میں رہو.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "گھر/سر/سر کریں.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "تبدیل کریں" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "طےشدہ" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "فائلز" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "مختصر قسطیں دکھائیں" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "نئی دستاویزات" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "پیسٹ کریں" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "غیر متصل" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "دوبارہ شروع" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "تمام منتخب کريں" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "فائلز" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "قسم.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "{0}" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "شیل ڈیوس" + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "سمینک کو ناکام بنانا" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "علامتی ربط نہیں بنایا جاسکتا" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "کاپی رائٹ:" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} موجود نہیں" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "فائل کا انتخاب کریں" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "اقدام" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "کاپی" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "لنک" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "فولڈر" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "فائل" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "فائل کھولیں" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "\"{fo}\" کھولنے کے لیے کوئی اطلاقیہ نصب نہیں ہے۔." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "out {0}" +msgstr[1] "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "کھولیں." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "لانچ" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "{foo} کے ساتھ کھولیں" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "کھولیں" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "یہیں نکالیں" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "نکالیں تا..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "کھولیں." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "دیگر اطلاق کے ساتھ سب کھولیں." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "Lanch integrated graphic card استعمال کرتے ہوئے" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "اس قسم کو خراب کریں" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "اس قسم کی غیر متصل" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "پروگرام کے طور پر بھاگو" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "پرنٹ" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "کٹ" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "منتقل کریں..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "کاپی." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "نام بدلیں.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "لنک بنائیں..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "out {0}" +msgstr[1] "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "دباؤ کا ریشو: {0}" +msgstr[1] "دباؤ کا ریشو: {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "ای میل ای میل." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "موبائل ڈیوائس کے لیے بھیجیں" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "ترشے کی طرف" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "مستقل حذف" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "لانچنگ کی اجازت مت دو" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "اسرائیل" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "جٹ" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "غیر درج شدہ" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "عام خصوصیات" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "پر خصوصیات" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "{0} میں دکھائیں" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "{0} میں کھولیں" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "دوبارہ شروع کریں" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "نکالنا" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "نکالنے میں ناقابل فائل، سمت فولڈر نہیں" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "منزل منتخب کریں" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "منتخب کریں" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "ڈائریکٹری کا ای میل نہیں چل سکتا۔" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "" +"انتخاب میں ایک ڈائریکٹری شامل ہے، %zip فائل پر دباؤ ڈالا جاتا ہے اور پہلے؟?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "میل خامی" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "کمانڈ تلاش کرنے میں ناکامی، براہ مہربانی پروگرام نصب کریں" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "محفوظہ.zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "محفوظہ بنانے میں غلطی" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "Xdg-email تلاش کرنے میں ناقابل عمل، براہ مہربانی پروگرام نصب کریں" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "فائلیں نکالتے وقت غلطی" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "ورکنگ ڈائریکٹری نہیں کھولی جا سکتی۔" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "جنوے کنول میں خالی" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "براہ مہربانی Gnome County یا دیگر ٹرمینل پروگرام انسٹال کریں" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "out {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "براہ کرم {0} نصب کریں" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "نقل کر سکتے هيں" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "فائلیں کاپی کرنے میں ناکامی، کوئی سمت فولڈر نہیں" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "بچ سکتے هيں" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "فائل منتقل کرنے میں ناکامی، کوئی سمت فولڈر نہیں" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "قیمتوں کے حساب سے اس قسم کی فائلیں کھل نہیں سکتیں !" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "پرنٹ" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "طے شدہ" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "نیا قسم." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "Modifier + Key (مثلاً Ctrl + الٹ + ڈی )" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "طے شدہ" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "بند" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "سسٹم مختصر" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "عام نظام دفاعی کارروائیوں کو مختصر کر دیتا ہے۔" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "جگہ جگہ" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "جگہ" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "عالمی ریکارڈ" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "نظام‌اُلعمل" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "فوری ردِعمل" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "جلدازجلد" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "مقرر کرنے کے لئے تمام استعمال کريں" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "سب ..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "فائلیں شامل کریں" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "ٹرمینل میں کھولیں" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "تبدیل کریں" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "ترتیبات بدلیں" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "ڈی بگ کی ترتیبات بدلیں" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "پاک مقام" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "ہوشیار رہیں" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "س . ع " + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "خصوصی فولڈرز سے ترتیب دیں" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "نام" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "نام" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "جگہ" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "فائلز قسم" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "نام" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "فائلیں تلاش کریں" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "طےشدہ" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "فائلیں شامل کریں" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "تمام منتخب کريں" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "تفصیل" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "ویجیٹ شامل کریں۔" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "جگہ" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "درست نام منتخب کریں" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "جگہ" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "نام ڈاؤن لوڈ کریں" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "طےشدہ" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "طےشدہ" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "مختصر آؤٹ تخلیق کریں" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "متن کی نقل‌نویسوں کا ردِعمل" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "متن نقل‌نویسوں کا ردِعمل" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "مختصر قسط دیکھیں منظر" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "طےشدہ" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "مزید معلومات" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "گھر" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "ترش" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "مٹی" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "لنک" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "فائل کھولیں نہیں کیوں کہ یہ urban symlink ہے" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "چلاو" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "ترجیحات" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "صارف" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "اجازت دیں" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "ترقی" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "Default" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "کمانڈر\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "ترجیحات" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" دستیاب نہیں ہے۔" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "" +"ان افعال کو انجام دینے کے لیے پلگ انس کو قابل بنا نے کے لیے \"${programName}" +"\" انسٹال کریں." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "فولڈر منتخب کریں" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "کمانڈ نہیں پائی گئی" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "منتخب فائلیں کھولیں." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "اس فائل قسم کے لیے ہمیشہ استعمال ہوتا ہے۔" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_ کوئینز" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "کھولیں" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "گنوم ڈیسک ٹاپ پر تصاویر دکھائیں" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "ڈیسک ٹاپ؛ نقل و حمل؛ نقل و حمل؛ manager؛ arrange؛ hide؛ ظاہر؛ کھولاؤ؛;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "طےشدہ" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "ترجیحات" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "منسوخ کریں" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "نام" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "ڈیسک ٹاپوں کے لیے حجم مرتب کیجئے۔." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "ذاتی فولڈر دکھائیں" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "ڈیسک ٹاپ میں ذاتی فولڈر دکھائیں." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "غیر متصل تصویر دیکھیں" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "ڈیسک ٹاپ میں ڈسکس کی تصویر دکھائیں." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "نئی تصاویر کونے کا آغاز کرتی ہیں۔" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "کونے کو اس جگہ سے رکھیں جہاں تصاویر رکھی جائیں گی۔." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "ڈیسک ٹاپ میں بیرونی ڈرائیور دکھا وٴ" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "ڈسک ڈسک چلا وٴ جو کمپیوٹر سے وابسته ہے." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "ڈیسک ٹاپ میں نیٹ ورک منیجر انسٹال کریں" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "ڈیسک ٹاپ میں نصب کردہ نیٹ ورک فائل نصب کریں." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "سکرین کے مخالف سمت میں نئے ڈرائیور شامل کریں۔" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "" +"جب ڈیسک ٹاپ میں ڈرائیور اور جِلد شامل کی جاتی ہے تو اُنہیں سکرین کے مخالف سمت " +"میں شامل کریں ۔." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "ڈی این ڈی کے دوران منزل کے مقام پر ریٹیننگ دکھا تا ہے۔" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "" +"ایک ڈرافٹ ڈرپ آپریشن کرتے وقت اس مقام کی نشان دہی کرتے ہیں جس میں تصاویر کو " +"نیم گرم کرنٹ ریزلنگ کے ساتھ رکھا جائے گا۔." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "Special Backy - home/Trash trades سے ترتیب دیں۔." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"جب ڈیسک ٹاپ پر تصاویر ترتیب دیں، گھر کے مقام کو بدلنے اور تبدیل کرنے کے لیے، " +"ترش اور نیٹ ورک یا بیرونی دائرہ کاروں کے لیے" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "نصب‌اُلعین قائم رکھیں" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "ہمیشہ فائلز آخری ترتیب ترتیب سے ترتیب دیا گیا" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "کمانڈ" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "اس مال کے نام سے منسوب ہے۔" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "مینارِنگہبانی اور جاگو " + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "ہمیشہ تصویریں رکھیں، اسی طرح کی اقسام گروہی ہیں۔" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "فائل کی قسم" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "ان قسموں کی ایک آرا، ان قسم کے فائل نہیں" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "تعلقات قائم کریں" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "اِس کے علاوہ اِس بات کا بھی خیال رکھیں کہ آپ نرم‌مزاجی سے کام لیں گے ۔." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "لیبل متن کے لیے بلیک استعمال کریں" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "" +"سفید رنگ کی بجائے سیاہ رنگ میں لیبل کی عبارت۔ روشنی کے پس‌منظر کو استعمال " +"کرتے وقت خوشی ۔." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "اگر متصل ہوں تو غیر مرکزی مانیٹر پر نئی تصاویر دکھائیں" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "" +"اگر کوئی دوسرا مینار متصل ہو تو غیر بنیادی مانیٹر پر نئی تصاویر رکھی جاتی " +"ہیں۔" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "کسی بھی جگہ پر نامزد کیا جا سکتا ہے۔" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "" +"تصاویر کسی شمارندی مدارس پر نہیں ہیں بلکہ کسی بھی آزادانہ طور پر گراوٹ پر " +"پوسٹ کیا جا سکتا ہے۔" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +#, fuzzy +msgid "Show Desktop Widgets" +msgstr "فائلیں شامل کریں" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "حیدرآباد/تمام ڈیسک ٹاپ ونڈو دکھائیں" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "ڈیسک ٹاپوں پر تصاویر ڈسپلے کريں یا سب کو چھپا ئيں" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "صارف کا استعمال مختصر" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "فراہم کار کی طرف سے طے کردہ درخواستوں کے لیے اوپری تقسیم" diff --git a/ding/po/zh-Hans.po b/ding/po/zh-Hans.po new file mode 100644 index 0000000..3bc335a --- /dev/null +++ b/ding/po/zh-Hans.po @@ -0,0 +1,2082 @@ +# Language zh-Hans translations for gtk4-ding package. +# Copyright (C) 2025 THE gtk4-ding'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Automatically generated, 2025. +# +# Weblate Translation Memory , 2025, 2026. +# imnotlxy , 2025, 2026. +# zhongweixiao5 , 2025. +# remyxo , 2025, 2026. +# Weblate , 2025, 2026. +# Daniel Zhang , 2026. +# 复予 , 2026. +# Sun Zhang , 2026. +# 0xarch , 2026. +# "Adam C." , 2026. +# chenaou <2744735540@qq.com>, 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-27 06:09+0000\n" +"Last-Translator: Daniel Zhang \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh-Hans\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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "CSS 覆盖" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "通过 CSS 自定义桌面图表的外观" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "警告:如果操作不当,可能会导致该扩展损坏" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "编辑 CSS 覆盖文件…" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "立即应用 CSS 更改" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "立即重载 CSS 来应用更改" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "快捷键" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "编辑快捷键..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "编辑应用程序快捷键" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "快捷键 仅在扩展启用时才能编辑..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "帮助翻译您的网页浏览器" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "桌面" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "文件" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "调整" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "更多" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "桌面设置" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "桌面程序设置" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "桌面文件夹" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "当前桌面: " + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "文件设置" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "与 Gnome 文件共享的设置" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "杂项调整" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "桌面图标大小" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "小声" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "小型" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "标准" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "大块" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "新图标对齐" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "左上角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "右上角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "左下角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "右下角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "优先将新图标添加至第二块显示器(如果存在)" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "将图标对齐到网格" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "桌面小部件" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "新建桌面文件夹" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "设置桌面的新文件夹" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "选择" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "将桌面设定为 ~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "恢复默认桌面文件夹" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "恢复" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "突出显示投放网格" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "添加链接、加密的信息徽章" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "在图标标签中使用暗文本" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "在桌面上显示家目录" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "在桌面上显示回收站图标" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "在桌面上显示外置驱动器" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "在桌面上显示网络驱动器" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "将新驱动器添加到桌面的另一侧" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "打开项目的操作" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "单击" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "双击" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "显示图像缩略图" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "永远" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "仅在这台电脑上" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "从不" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "显示要永久删除的上下文菜单项" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "显示隐藏文件" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "拖动鼠标悬停时打开文件夹" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "关于..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "翻译" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "机器使用LibreTranslate翻译. 用户在Weblate上核实并编辑." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "编辑翻译" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "在您的网页浏览器中校验、 添加或更正翻译" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "翻译" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "选择打开 {foo} 的应用程序" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "打开项目" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "打开文件夹" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "打开文件" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "更改默认应用程序时出错" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "在将“{foo}”作为“{mimetype}”的默认应用时出现错误" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "应用程序文件权限无效" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "此 AppImage 文件有不正确的权限 ." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "右键单击以编辑属性, 然后:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "设置权限, 以" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "其他访问" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "只读" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "或者说" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "无" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "启用选项" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "允许执行文件为程序" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "未信任的应用程序文件" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "此AppImage应用程序不可信, 无法启动 ." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "要允许运行,单击右键,然后:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "启用" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "允许运行" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "文件夹名称" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "文件名称" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "确定" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "重命名" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "软件包 AutoAr 未安装" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "为了能够处理压缩文件,请安装 file-roller 和/或 gir-1.2-gnomeAutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "提取文件" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "压缩文件" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "取消" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "输入密码" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "删除部分文件 “${outputFile}”" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "创建目标文件夹" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "将文件提取到 “${outputPath}”" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "提取完成" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "提取 “${fullPathFile}” 已完成。" + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "提取已取消" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "提取 “${fullPathFile}” 已被用户取消。" + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "${filename} 需要密码" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "提取过程中出错" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "将文件压缩到 “${outputFile}”" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "压缩已完成" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "已将文件压缩到 “${outputFile}”。" + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "压缩已取消" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "输出文件 “${outputFile}” 已经存在。" + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "用户已取消将文件压缩到 “${outputFile}”。" + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "压缩时出现错误" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "创建归档" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "归档文件名称" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "密码" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "创建" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "与所有操作系统兼容。" + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "受密码保护的 .zip,必须安装在 Windows 和 Mac 上。" + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "较小的归档文件,但仅限 Linux 和 Mac。" + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "较小的归档,但必须安装在 Windows 和 Mac 上。" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "显示的桌面可被其他人写入" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop 文件无法从此桌面启动, 因为桌面文件夹可以被其他用户写入 。\n" +"\n" +"请检查此桌面文件夹的权限, 并确保它不被其他人写入 ." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "损坏桌面文件" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"这个.desktop文件有错误或指向一个没有权限的程序. 无法执行 。\n" +"\n" +"编辑文件设置正确的可执行程序 ." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "桌面文件中无效的权限" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "此桌面文件有不正确的权限 ." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "未信任的桌面文件" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "此桌面文件不可信, 无法启动 ." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "无法打开文件" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} 无法打开此类型的文件 !" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "桌面文件夹 更改失败" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "新桌面文件夹是一个符号链接" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "新桌面文件夹不存在或不是文件夹 !" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "桌面文件夹已更改" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "正在切换到新的桌面..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "桌面图标" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +msgid "Back to Desktop" +msgstr "回到桌面" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "切换部件网格显示" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "添加小部件..." + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "监视框架缓冲 未启用缩放" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"多个显示器具有不同的缩放设置,建议每个显示器帧缓冲器缩放.\n" +"\n" +"请在 Mutter Dconf 设置中启用" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"具有不同缩放设置的多显示器 。\n" +"\n" +"在 Mutter Dconf 设置中启用每个显示器帧缓冲器缩放吗 ?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "启用" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "无法显示桌面" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"桌面文件夹 {desktop} 是符号链接\n" +"\n" +"请将桌面文件夹设置为真实的文件夹" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"桌面文件夹 {desktop} 不存在, 或不是一个目录\n" +"\n" +"检查您的 xdg- utils 安装并设置正确的桌面文件夹" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "找不到 GNOME 文件" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "格诺梅 Gtk4桌面图标NG要求文件应用程序." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "没有默认文件管理器" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "没有处理 mime 类型“ inode/ directory ” 的应用程序" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome 文件未注册为文件管理器" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Gnome 文件应用程序没有程序打开文件夹 !\n" +"检查您的 xdg- utils 安装\n" +"检查 Gnome 文件.desktop 文件安装" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "在新搜索之前清除当前选择" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "在桌面上查找文件" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "新建文件夹" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "创建文件夹失败" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "无法创建文件夹" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "无法打开 Gnome 文件的桌面" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "首选项窗口已打开" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "这个窗口已被打开。请切换到活动窗口。" + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "设置" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "模板创建错误" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "无法创建文档" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "名称" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "名称 Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "修改时间" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "类型" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "大小" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "保持排列…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "继续按类型堆叠…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "排序家/驱动器/回收站…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "更改桌面" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "恢复默认桌面" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "桌面图标设置" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "显示快捷键" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "新文档" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "粘贴" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "撤销" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "重做" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "全部选择" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "排列图标" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "排列…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "在 {0} 中显示桌面" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "在 {0} 中打开" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "编辑小部件…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell 菜单…" + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "创建符号链接失败" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "无法创建符号链接" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "复制/移动失败" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} 不存在" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "为文件选择操作" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "移动" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "复制" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "链接" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "文件夹" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "文件" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "打开文件失败" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "没有安装打开\"{fo}\"文件的应用程序." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "使用 {0} 新建文件夹 项目" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "全部打开..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "运行" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "使用 {foo} 打开" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "打开" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "在此提取" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "提取到..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "打开方式..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "打开所有其它应用程序..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "使用集成图形卡启动" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "堆叠此类型" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "取消堆叠此类型" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "作为程序运行" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "脚本" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "剪切" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "移动到..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "复制到..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "重命名…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "创建链接..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "压缩 {0} 个文件夹" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "压缩 {0} 文件" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "以邮件发送..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "发送到移动设备" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "移动到回收站" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "永久删除" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "不允许运行" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "空回收站" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "弹出" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "卸载" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "常见属性" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "属性" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "在 {0} 中全部显示" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "在 {0} 中显示" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "在 {0} 中打开" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "打开项目" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "提取已取消" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "无法提取文件,没有目标文件夹" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "选择目标文件夹" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "选择" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "无法发送目录" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "选择包括目录,先压缩到.zip文件?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "邮件出错" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "无法找到zip命令, 请安装程序" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "存档. zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "创建 zip 归档出错" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "无法找到 xdg- 电子邮件, 请安装程序" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "电子邮件文件出错" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "无法打开工作目录" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "无法在 Gnome 控制台打开" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "请安装 Gnome 控制台或其他终端程序" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "无法打开 {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "请安装 {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "复制已取消" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "无法复制文件,没有目标文件夹" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "移动已取消" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "无法移动文件,没有目标文件夹" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ 无法打开此类型的文件 !" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "控制台" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "默认快捷键 :" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "类型新..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "修饰键 + 按键 (例如 Ctrl + Alt + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "重置为默认" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "无加速" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "系统快捷键" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "系统默认的常用快捷键" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "本地快捷键" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "应用程序键盘快捷键" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "全局快捷键" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "系统键盘快捷键" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "键盘快捷键" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "重置快捷键" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "将所有快捷键重置为默认" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "全部重设置..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "在文件管理器中显示桌面" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "在终端中打开" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "更改背景" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "更改显示设置" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "更改桌面图标设置" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "清除图标" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "保持排列" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "保持堆叠" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "排序特殊文件夹" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "按名称排列图标" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "按降级名称排列图标" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "按修改时间排列图标" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "排列图标 由仁爱" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "按大小排列图标" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "查找文件" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "更新桌面" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "显示隐藏文件" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "全部取消选择" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "预览" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "切换键盘选择" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "切换部件图层" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "添加小部件" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "左侧选择图标" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "向右选择图标" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "向上选择图标" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "向下选择图标" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "显示菜单" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "显示 Shell 背景菜单" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "创建桌面快捷键" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "打开文本条目目录" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "文本条目 Accels 关闭" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "显示快捷键 查看器" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "显示或隐藏桌面图标" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "更多信息" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "主文件夹" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "废物" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "堆叠" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "断开链接" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "无法打开此文件, 因为它是断开的 Symlink" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "驱动" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +msgid "Widget preferences" +msgstr "小部件首选项" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "HTML 小部件" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "GTK 小部件" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "用户" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "允许" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "严格" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" +"这个部件运行在严格的沙盒网络环境中。\n" +"\n" +"• 不允许加载外部脚本或者框架,\n" +"• 网络许可仅限于可靠的(HTTPS)请求,\n" +"• 只有此部件的自身文件和内联代码可以运行。\n" +"\n" +"这是最安全的选项并且适用于大部分部件。" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "放松的" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" +"该部件被允许拥有更广泛的网络功能。\n" +"\n" +"• 可加载来自受信任网站的外部脚本、样式、图片和框架,\n" +"• 允许通过 HTTPS、WebSocket 和媒体流进行网络访问。\n" +"\n" +"只在您信任的部件上使用此选项。" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "发展" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" +"该部件以对开发更友好的网络访问模式运行。\n" +"\n" +"• 允许连接本地开发服务器(localhost),\n" +"• 为测试目的,可能允许 HTTP 和 WebSocket 访问。\n" +"\n" +"此模式仅用于开发和调试。" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "默认值" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" +"该部件按照预定义的网络安全策略运行。\n" +"\n" +"其网络访问和功能将根据当前生效的策略受到限制。" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "是否允许 {widgetId} 加载网络内容?" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" +"您正在添加的部件可能会从互联网加载网络内容。\n" +"\n" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" +"此类内容将受部件安全策略的约束:\n" +"\n" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" +"此部件 {widgetId} 会在你的计算机上运行一个后台进程。\n" +"\n" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "该后台进程将以正常的用户权限运行,就像你启动的任何其他应用程序一样。\n" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" +"它可以根据你的用户账户的权限访问你的文件、系统资源和网络。\n" +"\n" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "命令:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "仅在你完全信任的部件上启用此权限。" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "是否允许部件启用后端?" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +msgid "Widget Preferences" +msgstr "小部件首选项" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" 不详" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "安装 \"${programName}\" 使桌面图标能够执行这些动作 ." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "选择桌面文件夹" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "未找到命令" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "选择一个应用程序以打开所选文件。" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "总是为此文件类型应用此设置" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_取消" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_打开" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "在 GNOME 桌面上显示图标" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "桌面; icons; 文件; 文件夹; 管理器; 排列; 隐藏; 显示; 发射器; 短剪;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "显示<>隐藏" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "首选项" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "禁用" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "图标大小" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "设置桌面图标的大小." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "显示个人文件夹" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "在桌面上显示个人文件夹 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "显示垃圾图标" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "在桌面上显示垃圾图标 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "新图标起角" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "设定图标将开始放置的角落." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "在桌面上显示外部驱动器" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "显示连接到计算机的磁盘驱动器 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "在桌面上显示网络驱动器" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "在桌面上显示挂载的网络卷 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "在屏幕对面添加新驱动器" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "在桌面上添加驱动器和卷时,将其添加到屏幕的对面." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "DnD 期间显示目的地的矩形" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "在进行 Drag'n' Drop 操作时,标记网格中图标被放入半透明矩形的地方." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "排序特殊文件夹 - 主目录/回收站驱动器." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"在桌面上安排图标时, 以排序和更改 Home、 回收站和挂载的网络或外部驱动器的位置" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "保持图标排列" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "总是保留图标 由最后的命令安排" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "排列顺序" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "由此属性排列的图标" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "保存图标" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "总是保持图标堆叠,类似类型被分组" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "无法堆叠的文件类型" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "一组字符串类型, 不要堆叠这类文件" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "在链接中添加徽章" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "添加一个徽章可以识别软链接." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "标签文本使用黑色" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "将标签文字用黑色而不是白色画出。 使用光背景时有用 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "如果已连接,则在非主显示器上显示新图标" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "如果连接了第二台显示器,新图标将放置在非主显示器上" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "图标可以在桌面上的任何位置放置" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "图标不在长方形网格上,但可以在任何独立于网格的地方被贴出" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "桌面小部件" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "如果已安装,则在图标下方的图层中显示小部件" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "隐藏/ 显示所有桌面窗口" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "在桌面上显示图标, 或全部隐藏" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "应用程序快捷键" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "覆盖用户设置的默认应用程序快捷键" diff --git a/ding/po/zh-Hant.po b/ding/po/zh-Hant.po new file mode 100644 index 0000000..46be6f1 --- /dev/null +++ b/ding/po/zh-Hant.po @@ -0,0 +1,2082 @@ +# Language zh-Hant translations for gtk4-ding package. +# Copyright (C) 2025 THE gtk4-ding'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Automatically generated, 2025. +# +# Weblate Translation Memory , 2025, 2026. +# Weblate , 2025, 2026. +# Victor Tseng , 2026. +# LibreTranslate , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-02-22 00:10+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Chinese (Traditional Han script) \n" +"Language: zh-Hant\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: Weblate 5.16.1-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "覆蓋" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "捷徑" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "編輯捷徑..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "編輯應用程式捷徑" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "捷徑 只能等外延啟用后再編輯..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "在您的網頁瀏覽器中幫助翻譯" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "桌面" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "文件" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "有接觸" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "更多" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "桌面設定" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "桌面程序的設定" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "桌面資料夾" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "目前桌面 :" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "文件設定" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "和 Gnome 文件共享的設定" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "其他 有接觸" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "桌面圖示大小" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "有小" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "小" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "標準" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "大" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "新圖示相對" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "在左上角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "右上角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "左下角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "右下角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "如果有, 在二级監控器中先新增圖示" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "將圖示取回網格" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "桌面小部件" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "新增桌面資料夾" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "为桌面設定新目錄" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "選擇" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "將桌面放回~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "回復預設桌面資料夾" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "恢复" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "高亮地顯示放電格" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "为連接、加密而新增信息符號" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "在圖示標籤中使用暗文字" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "在桌面上顯示個人資料夾" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "在桌面上顯示垃圾圖示" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "在桌面上顯示外接磁碟" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "在桌面上顯示網路磁碟" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "在桌面相對一處新增磁碟" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "開啟項目的動作" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "單一點擊" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "雙擊" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "顯示影像縮圖" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "總是" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "就在這台電腦上" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "从不" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "顯示要永久刪除的上下文選項" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "顯示隱藏的檔案" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "在拖放时開啟資料夾" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "关于..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "翻譯" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "使用 LibreTranslate 翻譯出相機 。 在 Weblate 上被驗證并編輯 ." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "編輯翻譯" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "在您的網頁瀏覽器中檢查、 新增或校正翻譯" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "翻譯" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "選擇要開啟 {foo} 的應用程式" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "開啟項目" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "開啟資料夾" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "開啟檔案" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "變更預設應用程式出錯" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "將 {foo} 設定為開啟 {mimetype} 的預設應用程式時發生錯誤" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "关于 AppImage 文件的權限無效" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "此 AppImage 檔案有不正確的權限 ." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "右鍵以編輯屬性, 然後:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "設定權限, 在" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "其他存取" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "只讀取" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "或" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "無" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "開啟選項" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "允許執行檔案為程式" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "不信任的 AppImage 檔案" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "此應用程式 影像檔案不可信而無法被啟動 ." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "要啟用, 就按右鍵 :" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "開啟" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "允許啟用" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "資料夾名稱" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "文件名" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "好" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "重命名" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "自動 A 未安裝" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "要能用被壓縮的檔案相接, 安裝檔案卷動器和( 或) gir- 1. 2- gnome 自動Ar" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "取出檔案中" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "壓縮檔案中" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "取消" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "在此輸入密碼" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "移除部分檔案 '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "正在建立目的目錄" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "取出檔案入 '${outputPath}' ]" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "已取出" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "已取出 '${fullPathFile}' ." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "提取已取消" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "取出 '${fullPathFile}'被使用者取消 ." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "${filename}需要口令" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "取出出錯誤" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "將檔案壓入 '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "壓縮完成" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "將檔案壓入 '${outputFile}' 已做成 ." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "已取消壓縮" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "輸出檔 '${outputFile}' 已存在 ." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "將檔案壓入 '${outputFile}' 被使用者取消 ." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "壓縮出錯" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "建立歸檔" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "歸檔名" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "密碼" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "建立" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "" +"有相容相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相" +"通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相" +"通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相" +"通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相" +"通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相" +"通相通相通相通相通相通相通相通相通相通相相通相相通相通相通相通相通相通相通相" +"通相通相通相相通相通相通相通相通相相相相相相相通相通相通." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "有密碼保護的. sip, 必須被安裝到 Windows和 Mac上." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "有更小的檔案 但只有Linux和Mac才有." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "有更小的檔案 但是必須被安裝到Windows和Mac上." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "已顯示桌面被其他人寫入" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"由于桌面資料夾被其他用戶所寫取, 因此無法從此桌面上放出 deskop 檔案 。\n" +"\n" +"請檢查此桌面資料夾的權限, 并確保它不能被其他人寫入 ." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "已破碎的桌面檔案" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"這個. desktop 檔案有錯誤或指向一程式而無權使用 。 它不能被執行。\n" +"\n" +"編輯檔案以設定正確可執行程式 ." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "在桌面檔案上無效的權限" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "此桌面檔案有不正確的權限 ." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "未信任的桌面文件" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "此桌面檔案不可信, 無法被啟動 ." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "無法開啟 文件" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} 無法開啟此類型的檔案 !" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "桌面資料夾 變更失敗" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "新的桌面資料夾是相關符號" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "新的桌面資料夾不存在或不是資料夾 !" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "桌面資料夾已變更" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "正在切換到新桌面..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "桌面圖示" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "更新桌面" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +msgid "Add Widget..." +msgstr "新增小工具" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "監控框架缓冲 縮放未被開啟" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"有相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相" +"關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相" +"關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相" +"關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相" +"關相關相關相關相關相關相關相關相關相關相關相相關相關相相相關相關相關相關相關" +"相關相關相關相關相關相相關相相關相關相關相相相相相相相相相相相相相相相相相相" +"相相關相相相相相相相相相相相相相相相相相相相相相相相相相\n" +"\n" +"請在 Mutter Dconf 設定中開啟" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"有多個相關相關相關相關相關相關相關相關相關相關相關相關相關相\n" +"\n" +"在 Mutter Dconf 設定中開啟相關相關相關相關相關相關相關相關相關相關相關相關相" +"關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相" +"關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相" +"關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相" +"關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相" +"關相關相關相關相關相相關相相相相關相相相相關相相相相相相相相相相相相相相相相" +"相相相相關相關相相相相相相相相相相相相相相相相相相相相相相相?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "開啟" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "不能顯示桌面" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"桌面資料夾 {desktop} 为符號連接\n" +"\n" +"請把桌面資料夾放入真正的資料夾" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"桌面資料夾 {desktop} 不存在, 或不是目錄\n" +"\n" +"檢查您的 xdg- utils 安裝并設定正確的桌面資料夾" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "格诺梅 找不到檔案" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "(歌聲) Gtk4 桌面圖示 NG需要檔案應用程式 ." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "沒有預設的檔案管理員" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "沒有應用程式能處理 mime 型態 \"inode/ Directory\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome 檔案未被註冊为檔案管理員" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Gnome 檔案應用程式無法開啟資料夾 !\n" +"檢查您的 xdg- utils 安裝\n" +"檢查 Gnome 檔案. desktop 文件安裝" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "在新搜尋前清除目前的選擇區" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "在桌面上尋找檔案" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "新增資料夾" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "建立資料夾失敗" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "無法建立目錄" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "在 Gnome 檔案中無法開啟桌面" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "首选项窗口已開啟" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "此視窗已開啟 。 請切換到正在使用的視窗 ." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "設定值" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "樣本建立錯誤" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "無法建立文件" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "姓名" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "名稱 Z- A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "有變更的時間" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "類型" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "大小" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "保持安排.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "按型態繼續堆放.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "排序 Home/ Drives/ 垃圾堆.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "更改桌面" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "回復預設桌面" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "桌面圖示設定" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "顯示捷徑" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "新文件" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "貼上" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "復原" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "重做" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "全部選擇" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "排列圖示" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "有安排由" + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "在 {0} 中顯示桌面" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "在 {0} 中開啟" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "編輯小工具" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "貝殼選單.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "使 SymLink 失敗" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "無法建立符號連接" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "复制/ 移動失敗" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} 不存在" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "为檔案選擇動作" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "出走" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "复制" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "連接" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "資料夾" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "文件" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "開啟檔案失敗" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "沒有安裝可以開啟 \"{fo}\" 檔案的應用程式 ." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "有 {0} 的新資料夾 項目" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "全部開啟..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "出發" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "以 {foo} 開啟" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "開啟" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "取出這裡" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "取出到..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "以..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "在其它應用程式中開啟全部..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "使用集成相片卡出發" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "堆疊此類型" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "解除此類型" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "以程式執行" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "文稿" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "切" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "移到..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "复制到..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "重新命名.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "建立連接..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "壓縮 {0} 資料夾" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "压缩 {0} 文件" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "通到." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "送入可動裝置" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "移至資源回收桶" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "永久刪除" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "不允許出發" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "空回收站" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "退出" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "卸载" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "共同屬性" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "屬性" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "在 {0} 中全部顯示" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "在 {0} 中顯示" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "在 {0} 中開啟" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "開啟項目" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "已取出已取消" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "無法取出 文件, 沒有目的目錄" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "選擇目的地" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "選擇" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "不能傳送目錄" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "選擇中包括了目錄,先被壓縮到 .zip 檔案?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "郵件出錯" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "找不到 zip 命令, 請安裝程式" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "存档. sip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "在建立 zip 歸檔出錯" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "找不到 xdg- 郵件, 請安裝程式" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "傳送檔案出錯" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "不能開啟工作目錄" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "在 Gnome 控制台中無法開啟" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "請安裝 Gnome 控制台或其他终端程式" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "無法開啟 {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "請安裝 {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "复制已取消" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "無法复制檔案, 沒有目的目錄" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "已取消" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "無法移出檔案, 沒有目的目錄" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ 無法開啟此類型的檔案 !" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "主控台" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "預設捷徑 :" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "有新字型..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "修改器 + 金鑰( 如 Ctrl +) 取代 + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "重置到預設值" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "沒有加速器" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "系統捷徑" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "共同系統定義的鍵盤捷徑" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "本地捷徑" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "應用鍵盤捷徑" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "全局捷徑" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "系統鍵盤捷徑" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "鍵盤捷徑" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "重設捷徑" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "將所有捷徑重置至預設值" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "全部重置..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "在檔案中顯示桌面" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "在终端中開啟" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "更改背景" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "更改顯示設定值" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "更改桌面圖示設定" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "清理圖示" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "保持排列" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "繼續堆放" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "排序特殊資料夾" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "按名稱排列圖示" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "以降級名稱排列圖示" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "根据已修改的時間排列圖示" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "排列圖示 由善良" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "按大小排列圖示" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "尋找文件" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "更新桌面" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "顯示隱藏的檔案" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "全部取消選取" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "預覽" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "新增小工具" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "在左邊選擇圖示" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "向右選擇圖示" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "在上方選擇圖示" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "在下方選擇圖示" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "顯示選單" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "顯示 shell 背景選單" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "建立桌面捷徑" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "文字項目 Accels 開啟" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "文字項目 Accels 關閉" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "顯示捷徑 查看器" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "顯示或隱藏桌面圖示" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "更多信息" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "內容" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "回收站" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "堆疊" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "已分解連接" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "無法開啟此檔案, 因為它已破碎 Symlink" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "驱动" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "首选项" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "使用者" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "允許" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "嚴格" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "放鬆" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "開發" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "預設" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "命令:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "首选项" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" 不可用" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "安裝 \"${programName}\" 以讓桌面圖示能執行這些動作 ." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "選擇桌面資料夾" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "找不到命令" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "選擇開啟所選取的檔案的應用程式 ." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "常用此檔案類型" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "取消(_C)" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "開啟(_O)" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "在 GNOME 桌面上顯示圖示" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "桌面; icons; 文件; 收件; 管理; 排列; 隱藏; 顯示; 發射; 短剪;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "顯示 {} 隱藏" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "首选项" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "禁用" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "圖示大小" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "为桌面圖示設定大小 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "顯示個人資料夾" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "在桌面上顯示個人資料夾 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "顯示垃圾圖示" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "在桌面上顯示垃圾圖示 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "新圖示起跑角" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "从圖示被放入的角落中 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "在桌面上顯示外接磁碟" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "" +"顯示相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關" +"相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關" +"相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關" +"相關相關相關相相關相關相關相關相關相關相關相關相相關相相關相關相相相相關相相" +"相相關相相相相相相相相關相相相相相相相相相相相相相相相相相相相相相相相相相相" +"相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相" +"相相相相相相相相相相相相相相相相相相相相相相相相相相相相." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "在桌面上顯示網路驅動程式" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "在桌面上顯示已載入的網路音量 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "在屏幕相對一邊新增硬碟" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "在桌面上加入磁碟和相關卷時, 在屏幕相對一處加入 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "在 DnD 相關地點顯示矩形" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "在做 Drag'n' Drop 操作時, 在網格上標出以半透明矩形放入圖示的地方 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "排序相關相關資料夾- Home/ Trash Drivers ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"在桌面上排列圖示以排序并改變 Home, 資源回收站和已載入的網路或外接 Drives 的位" +"置" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "保持圖示排列" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "常保留圖示 由上一排排列" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "排列顺序" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "由此屬性所排列的圖示" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "儲存圖示" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "" +"有相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相" +"相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相" +"相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相" +"相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相" +"相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相" +"相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相" +"相相相相相相相相相相相相相相相相相相相相相相相相相相相相" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "要儲存的檔案型態" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "串列類型, 不要堆放這些類型的檔案" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "在連結中新增徽章" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "新增一面徽章以可以辨識出軟連結 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "在標籤上使用黑色文字" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "在標籤上用黑色而不是白色畫出。 在使用光背景相時有用." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "如果連接, 在非主监视器上顯示新圖示" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "如果接通了第二個監控器, 在非主監控器上放入了新的圖示" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "圖示可以被定位到桌面上的任何一處" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "圖示不是在矩形格子上取而代之,而可以被收起去除格子以外的任何地方" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "桌面小部件" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "隱藏/ 顯示所有桌面視窗" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "在桌面上顯示圖示或全部隱藏" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "使用者應用程式捷徑" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "覆蓋使用者所設定的預設應用捷徑" diff --git a/ding/po/zh_CN.po b/ding/po/zh_CN.po new file mode 100644 index 0000000..962ef14 --- /dev/null +++ b/ding/po/zh_CN.po @@ -0,0 +1,2084 @@ +# Language zh-Hans translations for gtk4-ding package. +# Copyright (C) 2025 THE gtk4-ding'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Automatically generated, 2025. +# +# Weblate Translation Memory , 2025, 2026. +# imnotlxy , 2025, 2026. +# zhongweixiao5 , 2025. +# remyxo , 2025, 2026. +# Weblate , 2025, 2026. +# Daniel Zhang , 2026. +# 复予 , 2026. +# Sun Zhang , 2026. +# 0xarch , 2026. +# "Adam C." , 2026. +# chenaou <2744735540@qq.com>, 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-01-25 07:25+0000\n" +"Last-Translator: chenaou <2744735540@qq.com>\n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.16-dev\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "CSS 覆盖" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "通过 CSS 自定义桌面图表的外观" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "警告:如果操作不当,可能会导致该扩展损坏" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "编辑 CSS 覆盖文件…" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "立即应用 CSS 更改" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "立即重载 CSS 来应用更改" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "快捷键" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "编辑快捷键..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "编辑应用程序快捷键" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "快捷键 仅在扩展启用时才能编辑..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "帮助翻译您的网页浏览器" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "桌面" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "文件" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "扭动" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "更多" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "桌面设置" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "桌面程序设置" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "桌面文件夹" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "当前桌面: " + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "文件设置" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "与 Gnome 文件共享的设置" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "杂项调整" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "桌面图标大小" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "小声" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "小型" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "标准" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "大块" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "新图标对齐" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "左上角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "右上角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "左下角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "右下角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "优先将新图标添加至第二块显示器(如果存在)" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "将图标对齐到网格" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "桌面小部件" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "新建桌面文件夹" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "设置桌面的新文件夹" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "选择" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "将桌面设定为~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "恢复默认桌面文件夹" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "恢复" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "突出显示投放网格" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "添加链接、加密的信息徽章" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "在图标标签中使用暗文本" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "在桌面上显示家目录" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "在桌面上显示回收站图标" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "在桌面上显示外置驱动器" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "在桌面上显示网络驱动器" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "将新驱动器添加到桌面的另一侧" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "打开项目的操作" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "单击" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "双击" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "显示图像缩略图" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "永远" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "仅在这台电脑上" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "从不" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "显示要永久删除的上下文菜单项" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "显示隐藏文件" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "拖动鼠标悬停时打开文件夹" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "关于..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "翻译" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "机器使用LibreTranslate翻译. 用户在Weblate上核实并编辑." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "编辑翻译" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "在您的网页浏览器中校验、 添加或更正翻译" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "翻译" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "选择打开 {foo} 的应用程序" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "打开项目" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "打开文件夹" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "打开文件" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "更改默认应用程序时出错" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "在将“{foo}”作为“{mimetype}”的默认应用时出现错误" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "应用程序文件权限无效" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "此 AppImage 文件有不正确的权限 ." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "右键单击以编辑属性, 然后 :" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "设置权限, 以" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "其他访问" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "只读" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "或者说" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "无" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "启用选项" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "允许执行文件为程序" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "未信任的应用程序文件" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "此AppImage应用程序不可信, 无法启动 ." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "要允许运行,单击右键,然后:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "启用" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "允许运行" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "文件夹名称" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "文件名称" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "重命名" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "GNOME AutoAr软件包未安装" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "为了能够处理压缩文件,请安装 file-roller 和/或 gir-1.2-gnomeAutoAr" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "提取文件" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "压缩文件" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "取消" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "输入密码" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "删除部分文件 “${outputFile}”" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "创建目标文件夹" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "将文件提取到 “${outputPath}”" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "提取完成" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "提取 “${fullPathFile}” 已完成。" + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "提取已取消" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "提取 “${fullPathFile}” 已被用户取消。" + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "${filename} 需要密码" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "提取过程中出错" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "将文件压缩到 “${outputFile}”" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "压缩已完成" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "已将文件压缩到 “${outputFile}”。" + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "压缩已取消" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "输出文件 “${outputFile}” 已经存在。" + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "用户已取消将文件压缩到 “${outputFile}”。" + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "压缩时出现错误" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "创建归档" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "归档文件名称" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "密码" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "创建" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "与所有操作系统兼容。" + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "受密码保护的 .zip,必须安装在 Windows 和 Mac 上。" + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "较小的归档文件,但仅限 Linux 和 Mac。" + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "较小的归档,但必须安装在 Windows 和 Mac 上。" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "显示的桌面可被其他人写入" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +".deskop 文件无法从此桌面启动, 因为桌面文件夹可以被其他用户写入 。\n" +"\n" +"请检查此桌面文件夹的权限, 并确保它不被其他人写入 ." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "损坏桌面文件" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"这个.desktop文件有错误或指向一个没有权限的程序. 无法执行 。\n" +"\n" +"编辑文件设置正确的可执行程序 ." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "桌面文件中无效的权限" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "此桌面文件有不正确的权限 ." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "未信任的桌面文件" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "此桌面文件不可信, 无法启动 ." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "无法打开文件" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} 无法打开此类型的文件 !" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "桌面文件夹 更改失败" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "新桌面文件夹是一个符号链接" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "新桌面文件夹不存在或不是文件夹 !" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "桌面文件夹已更改" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "正在切换到新的桌面..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "桌面图标" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +msgid "Back to Desktop" +msgstr "回到桌面" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +#, fuzzy +msgid "Toggle Widget Grid" +msgstr "切换小部件层" + +#: app/desktopGrid.js:2586 +#, fuzzy +msgid "Add Widget..." +msgstr "添加小部件" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "监视框架缓冲 未启用缩放" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"多个显示器具有不同的缩放设置,建议每个显示器帧缓冲器缩放.\n" +"\n" +"请在 Mutter Dconf 设置中启用" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"具有不同缩放设置的多显示器 。\n" +"\n" +"在 Mutter Dconf 设置中启用每个显示器帧缓冲器缩放吗 ?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "启用" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "无法显示桌面" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"桌面文件夹 {desktop} 是符号链接\n" +"\n" +"请将桌面文件夹设置为真实的文件夹" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"桌面文件夹 {desktop} 不存在, 或不是一个目录\n" +"\n" +"检查您的 xdg- utils 安装并设置正确的桌面文件夹" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "找不到 GNOME 文件" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "格诺梅 Gtk4桌面图标NG要求文件应用程序." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "没有默认文件管理器" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "没有处理 mime 类型“ inode/ directory ” 的应用程序" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome 文件未注册为文件管理器" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Gnome 文件应用程序没有程序打开文件夹 !\n" +"检查您的 xdg- utils 安装\n" +"检查 Gnome 文件.desktop 文件安装" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "在新搜索之前清除当前选择" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "在桌面上查找文件" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "新建文件夹" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "创建文件夹失败" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "无法创建文件夹" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "无法打开 Gnome 文件的桌面" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "首选项窗口已打开" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "这个窗口已被打开。请切换到活动窗口。" + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "设置" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "模板创建错误" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "无法创建文档" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "名称" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "名称 Z-A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "修改时间" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "类型" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "大小" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "保持排列…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "继续按类型堆叠…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "排序家/驱动器/回收站…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "更改桌面" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "恢复默认桌面" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "桌面图标设置" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "显示快捷键" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "新文档" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "粘贴" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "撤销" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "重做( R)" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "全部选择" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "排列图标" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "排列…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "在 {0} 中显示桌面" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "在 {0} 中打开" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "编辑小部件…" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "Shell 菜单…" + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "创建符号链接失败" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "无法创建符号链接" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "复制/移动失败" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} 不存在" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "为文件选择操作" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "移动" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "复制" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "链接" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "文件夹" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "文件" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "打开文件失败" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "没有安装打开\"{fo}\"文件的应用程序." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "使用 {0} 新建文件夹 项目" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "全部打开..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "运行" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "使用 {foo} 打开" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "打开" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "在此提取" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "提取到..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "打开方式..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "打开所有其它应用程序..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "使用集成图形卡启动" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "堆叠此类型" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "取消堆叠此类型" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "作为程序运行" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "脚本" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "剪切" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "移动到..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "复制到..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "重命名…" + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "创建链接..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "压缩 {0} 个文件夹" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "压缩 {0} 文件" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "以邮件发送..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "发送到移动设备" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "移动到回收站" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "永久删除" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "不允许运行" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "空回收站" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "弹出" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "卸载" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "常见属性" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "属性" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "在 {0} 中全部显示" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "在 {0} 中显示" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "在 {0} 中打开" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "打开项目" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "提取已取消" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "无法提取文件,没有目标文件夹" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "选择目标文件夹" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "选择" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "无法发送目录" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "选择包括目录,先压缩到.zip文件?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "邮件出错" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "无法找到zip命令, 请安装程序" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "存档. zip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "创建 zip 归档出错" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "无法找到 xdg- 电子邮件, 请安装程序" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "电子邮件文件出错" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "无法打开工作目录" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "无法在 Gnome 控制台打开" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "请安装 Gnome 控制台或其他终端程序" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "无法打开 {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "请安装 {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "复制已取消" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "无法复制文件,没有目标文件夹" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "移动已取消" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "无法移动文件,没有目标文件夹" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ 无法打开此类型的文件 !" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "控制台" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "默认快捷键 :" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "类型新..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "修改器 + 键( 如 Ctrl +) 备选案文+D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "重置为默认" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "无加速" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "系统快捷键" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "共同制度定义的键盘快捷键" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "本地快捷键" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "应用程序键盘快捷键" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "全局快捷键" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "系统键盘快捷键" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "键盘快捷键" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "重置快捷键" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "将所有快捷键重置为默认" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "全部重设置..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "在文件管理器中显示桌面" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "在终端中打开" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "更改背景" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "更改显示设置" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "更改桌面图标设置" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "清除图标" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "保持排列" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "保持堆叠" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "排序特殊文件夹" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "按名称排列图标" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "按降级名称排列图标" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "按修改时间排列图标" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "排列图标 由仁爱" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "按大小排列图标" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "查找文件" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "更新桌面" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "显示隐藏文件" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "全部取消选择" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "预览" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "切换小部件层" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "添加小部件" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "左侧选择图标" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "向右选择图标" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "向上选择图标" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "向下选择图标" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "显示菜单" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "显示 Shell 背景菜单" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "创建桌面快捷键" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "打开文本条目目录" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "文本条目 Accels 关闭" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "显示快捷键 查看器" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "显示或隐藏桌面图标" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "更多信息" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "内容" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "废物" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "堆栈" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "断开链接" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "无法打开此文件, 因为它是断开的 Symlink" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "驱动" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +msgid "Widget preferences" +msgstr "小部件首选项" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "HTML 小部件" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "GTK 小部件" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "用户" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "允许" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "严格" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" +"这个部件运行在严格的沙盒网络环境中。\n" +"\n" +"• 不允许加载外部脚本或者框架,\n" +"• 网络许可仅限于可靠的(HTTPS)请求,\n" +"• 只有此部件的自身文件和内联代码可以运行。\n" +"\n" +"这是最安全的选项并且适用于大部分部件。" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "放松的" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" +"该部件被允许拥有更广泛的网络功能。\n" +"\n" +"• 可加载来自受信任网站的外部脚本、样式、图片和框架,\n" +"• 允许通过 HTTPS、WebSocket 和媒体流进行网络访问。\n" +"\n" +"只在您信任的部件上使用此选项。" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "发展" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" +"该部件以对开发更友好的网络访问模式运行。\n" +"\n" +"• 允许连接本地开发服务器(localhost),\n" +"• 为测试目的,可能允许 HTTP 和 WebSocket 访问。\n" +"\n" +"此模式仅用于开发和调试。" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "默认值" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" +"该部件按照预定义的网络安全策略运行。\n" +"\n" +"其网络访问和功能将根据当前生效的策略受到限制。" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "是否允许 {widgetId} 加载网络内容?" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" +"您正在添加的部件可能会从互联网加载网络内容。\n" +"\n" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" +"此类内容将受部件安全策略的约束:\n" +"\n" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" +"此部件 {widgetId} 会在你的计算机上运行一个后台进程。\n" +"\n" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "该后台进程将以正常的用户权限运行,就像你启动的任何其他应用程序一样。\n" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" +"它可以根据你的用户账户的权限访问你的文件、系统资源和网络。\n" +"\n" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "命令:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "仅在你完全信任的部件上启用此权限。" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "是否允许部件启用后端?" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +msgid "Widget Preferences" +msgstr "小部件首选项" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" 不详" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "安装 \"${programName}\" 使桌面图标能够执行这些动作 ." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "选择桌面文件夹" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "未找到命令" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "选择一个应用程序以打开所选文件。" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "总是为此文件类型应用此设置" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "_取消" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "_打开" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "在 GNOME 桌面上显示图标" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "桌面; icons; 文件; 文件夹; 管理器; 排列; 隐藏; 显示; 发射器; 短剪;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "显示 {} 隐藏" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "首选项" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "禁用" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "图标大小" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "设置桌面图标的大小 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "显示个人文件夹" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "在桌面上显示个人文件夹 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "显示垃圾图标" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "在桌面上显示垃圾图标 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "新图标起角" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "设定图标将开始放置的角落 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "在桌面上显示外部驱动器" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "显示连接到计算机的磁盘驱动器 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "在桌面上显示网络驱动器" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "在桌面上显示挂载的网络卷 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "在屏幕对面添加新驱动器" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "在桌面上添加驱动器和卷时,将其添加到屏幕的对面." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "DnD 期间显示目的地的矩形" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "在进行 Drag'n' Drop 操作时,标记网格中图标被放入半透明矩形的地方." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "排序特殊文件夹 - 家/ 垃圾驱动器 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"在桌面上安排图标时, 以排序和更改 Home、 回收站和挂载的网络或外部驱动器的位置" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "保持图标排列" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "总是保留图标 由最后的命令安排" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "排列顺序" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "由此属性排列的图标" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "保存图标" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "总是保持图标堆叠,类似类型被分组" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "无法堆栈的文件类型" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "一组字符串类型, 不要堆叠这类文件" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "在链接中添加徽章" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "添加一个徽章可以识别软链接." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "标签文本使用黑色" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "将标签文字用黑色而不是白色画出。 使用光背景时有用 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "如果已连接,则在非主显示器上显示新图标" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "如果连接了第二台显示器,新图标将放置在非主显示器上" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "图标可以在桌面上的任何位置放置" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "图标不在长方形网格上,但可以在任何独立于网格的地方被贴出" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "桌面小部件" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "如果已安装,则在图标下方的图层中显示小部件" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "隐藏/ 显示所有桌面窗口" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "在桌面上显示图标, 或全部隐藏" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "应用程序快捷键" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "覆盖用户设置的默认应用程序快捷键" diff --git a/ding/po/zh_TW.po b/ding/po/zh_TW.po new file mode 100644 index 0000000..de57b46 --- /dev/null +++ b/ding/po/zh_TW.po @@ -0,0 +1,2083 @@ +# Language zh-Hant translations for gtk4-ding package. +# Copyright (C) 2025 THE gtk4-ding'S COPYRIGHT HOLDER +# This file is distributed under the same license as the gtk4-ding package. +# Automatically generated, 2025. +# +# Weblate Translation Memory , 2025, 2026. +# Weblate , 2025, 2026. +# Victor Tseng , 2026. +# LibreTranslate , 2026. +msgid "" +msgstr "" +"Project-Id-Version: gtk4-ding\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2026-02-20 12:07-0500\n" +"PO-Revision-Date: 2026-01-12 12:01+0000\n" +"Last-Translator: Weblate \n" +"Language-Team: Chinese (Traditional Han script) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.15.1\n" + +#: app/adwPreferencesWindow.js:161 +msgid "CSS Override" +msgstr "覆蓋" + +#: app/adwPreferencesWindow.js:162 +msgid "Customise the appearance of desktop icons with CSS" +msgstr "" + +#: app/adwPreferencesWindow.js:166 +msgid "Warning: This can break the extension if done incorrectly" +msgstr "" + +#: app/adwPreferencesWindow.js:172 +msgid "Edit CSS Override File..." +msgstr "" + +#: app/adwPreferencesWindow.js:180 +msgid "Apply CSS Changes Now" +msgstr "" + +#: app/adwPreferencesWindow.js:181 +msgid "Reload the CSS to apply changes immediately" +msgstr "" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:248 data/com.desktop.ding.desktop.in:29 +msgid "Shortcuts" +msgstr "捷徑" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:251 +msgid "Edit Shortcuts..." +msgstr "編輯捷徑..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:266 +msgid "Edit Application Shortcuts" +msgstr "編輯應用程式捷徑" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:271 +msgid "Shortcuts Editable only when Extension Enabled..." +msgstr "捷徑 只能等外延啟用后再編輯..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:376 +msgid "Help translate in your web browser" +msgstr "在您的網頁瀏覽器中幫助翻譯" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:595 app/adwPreferencesWindow.js:596 +msgid "Desktop" +msgstr "桌面" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:601 app/adwPreferencesWindow.js:602 +msgid "Files" +msgstr "文件" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:607 app/adwPreferencesWindow.js:608 +#: app/adwPreferencesWindow.js:650 +msgid "Tweaks" +msgstr "有接觸" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:613 app/adwPreferencesWindow.js:614 +msgid "More" +msgstr "更多" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:625 +msgid "Desktop Settings" +msgstr "桌面設定" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:626 +msgid "Settings for the Desktop Program" +msgstr "桌面程序的設定" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:632 +msgid "Desktop Folder" +msgstr "桌面資料夾" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:633 +msgid "Current Desktop: " +msgstr "目前桌面 :" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:643 +msgid "Files Settings" +msgstr "文件設定" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:644 +msgid "Settings shared with Gnome Files" +msgstr "和 Gnome 文件共享的設定" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:651 +msgid "Miscellaneous Tweaks" +msgstr "其他 有接觸" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:675 +msgid "Size for the desktop icons" +msgstr "桌面圖示大小" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:677 +msgid "Tiny" +msgstr "有小" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:678 +msgid "Small" +msgstr "小" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:679 +msgid "Standard" +msgstr "標準" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:680 +msgid "Large" +msgstr "大" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:686 +msgid "New icons alignment" +msgstr "新圖示相對" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:688 +msgid "Top left corner" +msgstr "在左上角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:689 +msgid "Top right corner" +msgstr "右上角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:690 +msgid "Bottom left corner" +msgstr "左下角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:691 +msgid "Bottom right corner" +msgstr "右下角" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:697 +msgid "Add new icons to Secondary Monitors first, if available" +msgstr "如果有, 在二级監控器中先新增圖示" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:701 +msgid "Snap icons to grid" +msgstr "將圖示取回網格" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:707 +msgid "Show desktop widgets" +msgstr "桌面小部件" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:712 +msgid "New Desktop Folder" +msgstr "新增桌面資料夾" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:713 +msgid "Set a new folder for the desktop" +msgstr "为桌面設定新目錄" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:714 app/utils/desktopFolderUtils.js:85 +msgid "Choose" +msgstr "選擇" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:719 +msgid "Set Desktop back to ~/" +msgstr "將桌面放回~/" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:721 +msgid "Restore Default Desktop Folder" +msgstr "回復預設桌面資料夾" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:723 +msgid "Restore" +msgstr "恢复" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:732 +msgid "Highlight the drop grid" +msgstr "高亮地顯示放電格" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:742 +msgid "Add information emblems for links, encryption" +msgstr "为連接、加密而新增信息符號" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:746 +msgid "Use dark text in icon labels" +msgstr "在圖示標籤中使用暗文字" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:751 +msgid "Show the personal folder on the desktop" +msgstr "在桌面上顯示個人資料夾" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:756 +msgid "Show the trash icon on the desktop" +msgstr "在桌面上顯示垃圾圖示" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:761 +msgid "Show external drives on the desktop" +msgstr "在桌面上顯示外接磁碟" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:766 +msgid "Show network drives on the desktop" +msgstr "在桌面上顯示網路磁碟" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:771 +msgid "Add new drives to the opposite side of the desktop" +msgstr "在桌面相對一處新增磁碟" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:776 +msgid "Action to Open Items" +msgstr "開啟項目的動作" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:778 +msgid "Single click" +msgstr "單一點擊" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:779 +msgid "Double click" +msgstr "雙擊" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:784 +msgid "Show image thumbnails" +msgstr "顯示影像縮圖" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:786 +msgid "Always" +msgstr "總是" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:787 +msgid "On this computer only" +msgstr "就在這台電腦上" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:788 +msgid "Never" +msgstr "从不" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:793 +msgid "Show a context menu item to delete permanently" +msgstr "顯示要永久刪除的上下文選項" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:798 +msgid "Show hidden files" +msgstr "顯示隱藏的檔案" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:803 +msgid "Open folders on drag hover" +msgstr "在拖放时開啟資料夾" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:807 +msgid "About..." +msgstr "关于..." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:820 +msgid "Translation" +msgstr "翻譯" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:821 +msgid "" +"Machine translated using LibreTranslate. User verified and edited on Weblate." +msgstr "使用 LibreTranslate 翻譯出相機 。 在 Weblate 上被驗證并編輯 ." + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:826 +msgid "Edit Translations" +msgstr "編輯翻譯" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:827 +msgid "Verify, add or correct translation in your web browser" +msgstr "在您的網頁瀏覽器中檢查、 新增或校正翻譯" + +# MT: LibreTranslate +#: app/adwPreferencesWindow.js:828 +msgid "Translate" +msgstr "翻譯" + +# MT: LibreTranslate +#: app/appChooser.js:78 +msgid "Choose an application to open {foo}" +msgstr "選擇要開啟 {foo} 的應用程式" + +# MT: LibreTranslate +#: app/appChooser.js:90 +msgid "Open Items" +msgstr "開啟項目" + +# MT: LibreTranslate +#: app/appChooser.js:92 +msgid "Open Folder" +msgstr "開啟資料夾" + +# MT: LibreTranslate +#: app/appChooser.js:94 data/ui/ding-app-chooser.ui:6 +msgid "Open File" +msgstr "開啟檔案" + +# MT: LibreTranslate +#: app/appChooser.js:165 +msgid "Error changing default application" +msgstr "變更預設應用程式出錯" + +#: app/appChooser.js:168 +msgid "Error while setting {foo} as default application for {mimetype}" +msgstr "將 {foo} 設定為開啟 {mimetype} 的預設應用程式時發生錯誤" + +# MT: LibreTranslate +#: app/appImageFileItem.js:57 +msgid "Invalid Permissions on AppImage File" +msgstr "关于 AppImage 文件的權限無效" + +# MT: LibreTranslate +#: app/appImageFileItem.js:58 +msgid "This AppImage File has incorrect Permissions." +msgstr "此 AppImage 檔案有不正確的權限 ." + +# MT: LibreTranslate +#: app/appImageFileItem.js:59 app/desktopFileIcon.js:153 +msgid "Right Click to edit Properties, then:" +msgstr "右鍵以編輯屬性, 然後:" + +# MT: LibreTranslate +#: app/appImageFileItem.js:61 app/desktopFileIcon.js:155 +msgid "Set Permissions, in" +msgstr "設定權限, 在" + +# MT: LibreTranslate +#: app/appImageFileItem.js:62 app/desktopFileIcon.js:156 +msgid "Others Access" +msgstr "其他存取" + +# MT: LibreTranslate +#: app/appImageFileItem.js:63 app/desktopFileIcon.js:157 +msgid "Read Only" +msgstr "只讀取" + +# MT: LibreTranslate +#: app/appImageFileItem.js:64 app/desktopFileIcon.js:158 +msgid "or" +msgstr "或" + +# MT: LibreTranslate +#: app/appImageFileItem.js:65 app/desktopFileIcon.js:159 +#: app/shortcutManager.js:58 app/shortcutManager.js:99 +msgid "None" +msgstr "無" + +# MT: LibreTranslate +#: app/appImageFileItem.js:66 app/desktopFileIcon.js:160 +msgid "Enable option" +msgstr "開啟選項" + +# MT: LibreTranslate +#: app/appImageFileItem.js:67 app/desktopFileIcon.js:161 +msgid "Allow Executing File as a Program" +msgstr "允許執行檔案為程式" + +# MT: LibreTranslate +#: app/appImageFileItem.js:79 +msgid "Untrusted AppImage File" +msgstr "不信任的 AppImage 檔案" + +# MT: LibreTranslate +#: app/appImageFileItem.js:81 +msgid "This AppImage file is not trusted, it can not be launched." +msgstr "此應用程式 影像檔案不可信而無法被啟動 ." + +# MT: LibreTranslate +#: app/appImageFileItem.js:82 app/desktopFileIcon.js:176 +msgid "To enable launching, right-click, then:" +msgstr "要啟用, 就按右鍵 :" + +# MT: LibreTranslate +#: app/appImageFileItem.js:83 app/desktopFileIcon.js:177 +msgid "enable" +msgstr "開啟" + +# MT: LibreTranslate +#: app/appImageFileItem.js:84 app/desktopFileIcon.js:178 +#: app/fileItemMenu.js:316 app/fileItemMenu.js:330 +msgid "Allow Launching" +msgstr "允許啟用" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "Folder name" +msgstr "資料夾名稱" + +# MT: LibreTranslate +#: app/askRenamePopup.js:61 +msgid "File name" +msgstr "文件名" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 app/autoAr.js:303 app/desktopManager.js:1293 +#: app/fileItemMenu.js:969 +msgid "OK" +msgstr "好" + +# MT: LibreTranslate +#: app/askRenamePopup.js:75 +msgid "Rename" +msgstr "重命名" + +# MT: LibreTranslate +#: app/autoAr.js:71 +msgid "AutoAr is not installed" +msgstr "自動 A 未安裝" + +# MT: LibreTranslate +#: app/autoAr.js:72 +msgid "" +"To be able to work with compressed files, install file-roller and/or gir-1.2-" +"gnomeAutoAr" +msgstr "要能用被壓縮的檔案相接, 安裝檔案卷動器和( 或) gir- 1. 2- gnome 自動Ar" + +# MT: LibreTranslate +#: app/autoAr.js:207 +msgid "Extracting files" +msgstr "取出檔案中" + +# MT: LibreTranslate +#: app/autoAr.js:224 +msgid "Compressing files" +msgstr "壓縮檔案中" + +# MT: LibreTranslate +#: app/autoAr.js:295 app/autoAr.js:624 app/desktopManager.js:181 +#: app/desktopManager.js:1295 app/dragManager.js:792 app/fileItemMenu.js:916 +#: app/fileItemMenu.js:969 app/showErrorPopup.js:41 app/showErrorPopup.js:58 +#: app/widgetManager.js:2104 +msgid "Cancel" +msgstr "取消" + +# MT: LibreTranslate +#: app/autoAr.js:315 app/autoAr.js:612 +msgid "Enter a password here" +msgstr "在此輸入密碼" + +# MT: LibreTranslate +#: app/autoAr.js:358 +msgid "Removing partial file '${outputFile}'" +msgstr "移除部分檔案 '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:377 +msgid "Creating destination folder" +msgstr "正在建立目的目錄" + +# MT: LibreTranslate +#: app/autoAr.js:409 +msgid "Extracting files into '${outputPath}'" +msgstr "取出檔案入 '${outputPath}' ]" + +# MT: LibreTranslate +#: app/autoAr.js:439 +msgid "Extraction completed" +msgstr "已取出" + +# MT: LibreTranslate +#: app/autoAr.js:440 +msgid "Extracting '${fullPathFile}' has been completed." +msgstr "已取出 '${fullPathFile}' ." + +# MT: LibreTranslate +#: app/autoAr.js:446 +msgid "Extraction cancelled" +msgstr "提取已取消" + +# MT: LibreTranslate +#: app/autoAr.js:447 +msgid "Extracting '${fullPathFile}' has been cancelled by the user." +msgstr "取出 '${fullPathFile}'被使用者取消 ." + +# MT: LibreTranslate +#: app/autoAr.js:457 +msgid "Passphrase required for ${filename}" +msgstr "${filename}需要口令" + +# MT: LibreTranslate +#: app/autoAr.js:460 +msgid "Error during extraction" +msgstr "取出出錯誤" + +# MT: LibreTranslate +#: app/autoAr.js:487 +msgid "Compressing files into '${outputFile}'" +msgstr "將檔案壓入 '${outputFile}'" + +# MT: LibreTranslate +#: app/autoAr.js:500 +msgid "Compression completed" +msgstr "壓縮完成" + +# MT: LibreTranslate +#: app/autoAr.js:501 +msgid "Compressing files into '${outputFile}' has been completed." +msgstr "將檔案壓入 '${outputFile}' 已做成 ." + +# MT: LibreTranslate +#: app/autoAr.js:505 app/autoAr.js:512 +msgid "Cancelled compression" +msgstr "已取消壓縮" + +# MT: LibreTranslate +#: app/autoAr.js:506 +msgid "The output file '${outputFile}' already exists." +msgstr "輸出檔 '${outputFile}' 已存在 ." + +# MT: LibreTranslate +#: app/autoAr.js:513 +msgid "Compressing files into '${outputFile}' has been cancelled by the user." +msgstr "將檔案壓入 '${outputFile}' 被使用者取消 ." + +# MT: LibreTranslate +#: app/autoAr.js:516 +msgid "Error during compression" +msgstr "壓縮出錯" + +# MT: LibreTranslate +#: app/autoAr.js:551 +msgid "Create archive" +msgstr "建立歸檔" + +# MT: LibreTranslate +#: app/autoAr.js:575 +msgid "Archive name" +msgstr "歸檔名" + +# MT: LibreTranslate +#: app/autoAr.js:608 +msgid "Password" +msgstr "密碼" + +# MT: LibreTranslate +#: app/autoAr.js:621 +msgid "Create" +msgstr "建立" + +# MT: LibreTranslate +#: app/autoAr.js:712 +msgid "Compatible with all operating systems." +msgstr "" +"有相容相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相" +"通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相" +"通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相" +"通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相" +"通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相通相" +"通相通相通相通相通相通相通相通相通相通相相通相相通相通相通相通相通相通相通相" +"通相通相通相相通相通相通相通相通相相相相相相相通相通相通." + +# MT: LibreTranslate +#: app/autoAr.js:718 +msgid "Password protected .zip, must be installed on Windows and Mac." +msgstr "有密碼保護的. sip, 必須被安裝到 Windows和 Mac上." + +# MT: LibreTranslate +#: app/autoAr.js:724 +msgid "Smaller archives but Linux and Mac only." +msgstr "有更小的檔案 但只有Linux和Mac才有." + +# MT: LibreTranslate +#: app/autoAr.js:730 +msgid "Smaller archives but must be installed on Windows and Mac." +msgstr "有更小的檔案 但是必須被安裝到Windows和Mac上." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:125 +msgid "The Displayed Desktop is writable by others" +msgstr "已顯示桌面被其他人寫入" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:128 +msgid "" +".deskop files cannot be launched from this Desktop as the Desktop Folder is " +"writable by other users.\n" +"\n" +"Please check the permissions of this Desktop Folder, and make sure it is not " +"writable by others." +msgstr "" +"由于桌面資料夾被其他用戶所寫取, 因此無法從此桌面上放出 deskop 檔案 。\n" +"\n" +"請檢查此桌面資料夾的權限, 并確保它不能被其他人寫入 ." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:138 +msgid "Broken Desktop File" +msgstr "已破碎的桌面檔案" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:141 +msgid "" +"This .desktop file has errors or points to a program without permissions. It " +"can not be executed.\n" +"\n" +"Edit the file to set the correct executable Program." +msgstr "" +"這個. desktop 檔案有錯誤或指向一程式而無權使用 。 它不能被執行。\n" +"\n" +"編輯檔案以設定正確可執行程式 ." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:151 +msgid "Invalid Permissions on Desktop File" +msgstr "在桌面檔案上無效的權限" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:152 +msgid "This Desktop File has incorrect Permissions." +msgstr "此桌面檔案有不正確的權限 ." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:173 +msgid "Untrusted Desktop File" +msgstr "未信任的桌面文件" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:175 +msgid "This Desktop file is not trusted, it can not be launched." +msgstr "此桌面檔案不可信, 無法被啟動 ." + +# MT: LibreTranslate +#: app/desktopFileIcon.js:204 app/gnomeShellDragDrop.js:355 +msgid "Could not open File" +msgstr "無法開啟 文件" + +# MT: LibreTranslate +#: app/desktopFileIcon.js:206 +msgid "{appName} can not open files of this Type!" +msgstr "{appName} 無法開啟此類型的檔案 !" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:101 app/desktopFolderMonitor.js:107 +msgid "Desktop Folder Change Failed" +msgstr "桌面資料夾 變更失敗" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:102 +msgid "The new Desktop Folder is a Symbolic Link" +msgstr "新的桌面資料夾是相關符號" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:109 +msgid "The new Desktop Folder does not exist or is not a Folder!" +msgstr "新的桌面資料夾不存在或不是資料夾 !" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:120 +msgid "Desktop Folder Changed" +msgstr "桌面資料夾已變更" + +# MT: LibreTranslate +#: app/desktopFolderMonitor.js:121 +msgid "Switching to new Desktop..." +msgstr "正在切換到新桌面..." + +# MT: LibreTranslate +#: app/desktopGrid.js:67 data/com.desktop.ding.desktop.in:3 +#: data/com.desktop.ding.desktop.in:4 +msgid "Desktop Icons" +msgstr "桌面圖示" + +# MT: LibreTranslate +#: app/desktopGrid.js:2584 +#, fuzzy +msgid "Back to Desktop" +msgstr "更新桌面" + +#: app/desktopGrid.js:2585 app/widgetManager.js:1154 +msgid "Toggle Widget Grid" +msgstr "" + +#: app/desktopGrid.js:2586 +#, fuzzy +msgid "Add Widget..." +msgstr "新增小工具" + +# MT: LibreTranslate +#: app/desktopManager.js:167 +msgid "Monitor Frame Buffer Scaling is not enabled" +msgstr "監控框架缓冲 縮放未被開啟" + +# MT: LibreTranslate +#: app/desktopManager.js:168 +msgid "" +"Multiple monitors with different zoom settings, recommend per monitor " +"framebuffer scaling.\n" +"\n" +"Please enable in Mutter Dconf Settings" +msgstr "" +"有相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相" +"關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相" +"關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相" +"關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相" +"關相關相關相關相關相關相關相關相關相關相關相相關相關相相相關相關相關相關相關" +"相關相關相關相關相關相相關相相關相關相關相相相相相相相相相相相相相相相相相相" +"相相關相相相相相相相相相相相相相相相相相相相相相相相相相\n" +"\n" +"請在 Mutter Dconf 設定中開啟" + +# MT: LibreTranslate +#: app/desktopManager.js:179 +msgid "" +"Multiple monitors with different zoom settings.\n" +"\n" +"Enable per monitor framebuffer scaling in Mutter Dconf Settings?" +msgstr "" +"有多個相關相關相關相關相關相關相關相關相關相關相關相關相關相\n" +"\n" +"在 Mutter Dconf 設定中開啟相關相關相關相關相關相關相關相關相關相關相關相關相" +"關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相" +"關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相" +"關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相" +"關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相" +"關相關相關相關相關相相關相相相相關相相相相關相相相相相相相相相相相相相相相相" +"相相相相關相關相相相相相相相相相相相相相相相相相相相相相相相?" + +# MT: LibreTranslate +#: app/desktopManager.js:182 data/com.desktop.ding.desktop.in:25 +msgid "Enable" +msgstr "開啟" + +# MT: LibreTranslate +#: app/desktopManager.js:206 app/desktopManager.js:216 +msgid "Can Not Show the Desktop" +msgstr "不能顯示桌面" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:208 +msgid "" +"The Desktop folder {desktop} is a Symbolic Link\n" +"\n" +"Please set the Desktop Folder to a real Folder" +msgstr "" +"桌面資料夾 {desktop} 为符號連接\n" +"\n" +"請把桌面資料夾放入真正的資料夾" + +# MT: LibreTranslate +#. TRANSLATORS: {desktop} folder path automatically inserted +#: app/desktopManager.js:218 +msgid "" +"The Desktop folder {desktop} does not exist, or is not a Directory\n" +"\n" +"Check your xdg-utils installation and set the correct Desktop Folder" +msgstr "" +"桌面資料夾 {desktop} 不存在, 或不是目錄\n" +"\n" +"檢查您的 xdg- utils 安裝并設定正確的桌面資料夾" + +# MT: LibreTranslate +#: app/desktopManager.js:229 +msgid "GNOME Files not found" +msgstr "格诺梅 找不到檔案" + +# MT: LibreTranslate +#: app/desktopManager.js:230 +msgid "The GNOME Files application is required by Gtk4 Desktop Icons NG." +msgstr "(歌聲) Gtk4 桌面圖示 NG需要檔案應用程式 ." + +# MT: LibreTranslate +#: app/desktopManager.js:237 +msgid "There is no default File Manager" +msgstr "沒有預設的檔案管理員" + +# MT: LibreTranslate +#: app/desktopManager.js:238 +msgid "There is no application that handles mimetype \"inode/directory\"" +msgstr "沒有應用程式能處理 mime 型態 \"inode/ Directory\"" + +# MT: LibreTranslate +#: app/desktopManager.js:245 +msgid "Gnome Files is not registered as a File Manager" +msgstr "Gnome 檔案未被註冊为檔案管理員" + +# MT: LibreTranslate +#: app/desktopManager.js:246 +msgid "" +"The Gnome Files application is not programmed to open Folders!\n" +"Check your xdg-utils installation\n" +"Check Gnome Files .desktop File installation" +msgstr "" +"Gnome 檔案應用程式無法開啟資料夾 !\n" +"檢查您的 xdg- utils 安裝\n" +"檢查 Gnome 檔案. desktop 文件安裝" + +# MT: LibreTranslate +#: app/desktopManager.js:356 +msgid "Clear current selection before new search" +msgstr "在新搜尋前清除目前的選擇區" + +# MT: LibreTranslate +#: app/desktopManager.js:1297 +msgid "Find Files on Desktop" +msgstr "在桌面上尋找檔案" + +# MT: LibreTranslate +#: app/desktopManager.js:1640 app/desktopMenu.js:1077 app/shortcuts.js:10 +msgid "New Folder" +msgstr "新增資料夾" + +# MT: LibreTranslate +#: app/desktopManager.js:1674 +msgid "Folder Creation Failed" +msgstr "建立資料夾失敗" + +# MT: LibreTranslate +#: app/desktopManager.js:1675 +msgid "Could not create folder" +msgstr "無法建立目錄" + +# MT: LibreTranslate +#: app/desktopMenu.js:610 +msgid "Unable to open Desktop in Gnome Files" +msgstr "在 Gnome 檔案中無法開啟桌面" + +# MT: LibreTranslate +#: app/desktopMenu.js:629 +msgid "Preferences Window is Open" +msgstr "首选项窗口已開啟" + +# MT: LibreTranslate +#: app/desktopMenu.js:630 +msgid "This Window is open. Please switch to the active window." +msgstr "此視窗已開啟 。 請切換到正在使用的視窗 ." + +# MT: LibreTranslate +#: app/desktopMenu.js:639 app/desktopMenu.js:1130 +msgid "Settings" +msgstr "設定值" + +# MT: LibreTranslate +#: app/desktopMenu.js:919 +msgid "Template Creation Error" +msgstr "樣本建立錯誤" + +# MT: LibreTranslate +#: app/desktopMenu.js:920 +msgid "Could not create document" +msgstr "無法建立文件" + +# MT: LibreTranslate +#: app/desktopMenu.js:1038 +msgid "Name" +msgstr "姓名" + +# MT: LibreTranslate +#: app/desktopMenu.js:1040 +msgid "Name Z-A" +msgstr "名稱 Z- A" + +# MT: LibreTranslate +#: app/desktopMenu.js:1042 +msgid "Modified Time" +msgstr "有變更的時間" + +# MT: LibreTranslate +#: app/desktopMenu.js:1044 +msgid "Type" +msgstr "類型" + +# MT: LibreTranslate +#: app/desktopMenu.js:1046 +msgid "Size" +msgstr "大小" + +# MT: LibreTranslate +#: app/desktopMenu.js:1051 +msgid "Keep Arranged…" +msgstr "保持安排.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1056 +msgid "Keep Stacked by Type…" +msgstr "按型態繼續堆放.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1058 +msgid "Sort Home/Drives/Trash…" +msgstr "排序 Home/ Drives/ 垃圾堆.." + +# MT: LibreTranslate +#: app/desktopMenu.js:1063 +msgid "Change Desktop" +msgstr "更改桌面" + +# MT: LibreTranslate +#: app/desktopMenu.js:1068 +msgid "Restore Default Desktop" +msgstr "回復預設桌面" + +# MT: LibreTranslate +#: app/desktopMenu.js:1072 +msgid "Desktop Icon Settings" +msgstr "桌面圖示設定" + +# MT: LibreTranslate +#: app/desktopMenu.js:1074 +msgid "Show Shortcuts" +msgstr "顯示捷徑" + +# MT: LibreTranslate +#: app/desktopMenu.js:1082 app/shortcuts.js:56 +msgid "New Document" +msgstr "新文件" + +# MT: LibreTranslate +#: app/desktopMenu.js:1087 app/shortcuts.js:11 +msgid "Paste" +msgstr "貼上" + +# MT: LibreTranslate +#: app/desktopMenu.js:1089 app/shortcuts.js:12 +msgid "Undo" +msgstr "復原" + +# MT: LibreTranslate +#: app/desktopMenu.js:1091 app/shortcuts.js:13 +msgid "Redo" +msgstr "重做" + +# MT: LibreTranslate +#: app/desktopMenu.js:1097 app/shortcuts.js:14 +msgid "Select All" +msgstr "全部選擇" + +# MT: LibreTranslate +#: app/desktopMenu.js:1104 +msgid "Arrange Icons" +msgstr "排列圖示" + +# MT: LibreTranslate +#: app/desktopMenu.js:1108 +msgid "Arrange By…" +msgstr "有安排由" + +# MT: LibreTranslate +#: app/desktopMenu.js:1116 +msgid "Show Desktop In {0}" +msgstr "在 {0} 中顯示桌面" + +# MT: LibreTranslate +#: app/desktopMenu.js:1121 +msgid "Open In {0}" +msgstr "在 {0} 中開啟" + +#: app/desktopMenu.js:1138 +msgid "Edit Widgets…" +msgstr "編輯小工具" + +# MT: LibreTranslate +#: app/desktopMenu.js:1145 +msgid "Shell Menu…" +msgstr "貝殼選單.." + +# MT: LibreTranslate +#: app/dragManager.js:101 app/dragManager.js:939 +msgid "Making SymLink Failed" +msgstr "使 SymLink 失敗" + +# MT: LibreTranslate +#: app/dragManager.js:102 app/dragManager.js:940 +msgid "Could not create symbolic link" +msgstr "無法建立符號連接" + +# MT: LibreTranslate +#: app/dragManager.js:748 +msgid "Copy/Move Failed" +msgstr "复制/ 移動失敗" + +# MT: LibreTranslate +#: app/dragManager.js:749 +msgid "{0} Does not exist" +msgstr "{0} 不存在" + +# MT: LibreTranslate +#: app/dragManager.js:791 +msgid "Choose Action for Files" +msgstr "为檔案選擇動作" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Move" +msgstr "出走" + +# MT: LibreTranslate +#: app/dragManager.js:792 app/fileItemMenu.js:240 +msgid "Copy" +msgstr "复制" + +# MT: LibreTranslate +#: app/dragManager.js:792 +msgid "Link" +msgstr "連接" + +# MT: LibreTranslate +#: app/fileItemIcon.js:95 +msgid "Folder" +msgstr "資料夾" + +# MT: LibreTranslate +#: app/fileItemIcon.js:96 +msgid "File" +msgstr "文件" + +# MT: LibreTranslate +#: app/fileItemIcon.js:286 +msgid "Opening File Failed" +msgstr "開啟檔案失敗" + +# MT: LibreTranslate +#: app/fileItemIcon.js:292 +msgid "There is no application installed to open \"{fo}\" files." +msgstr "沒有安裝可以開啟 \"{fo}\" 檔案的應用程式 ." + +# MT: LibreTranslate +#: app/fileItemMenu.js:104 +msgid "New Folder with {0} item" +msgid_plural "New Folder with {0} items" +msgstr[0] "有 {0} 的新資料夾 項目" + +# MT: LibreTranslate +#: app/fileItemMenu.js:114 +msgid "Open All..." +msgstr "全部開啟..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:122 +msgid "Launch" +msgstr "出發" + +# MT: LibreTranslate +#: app/fileItemMenu.js:135 +msgid "Open with {foo}" +msgstr "以 {foo} 開啟" + +# MT: LibreTranslate +#: app/fileItemMenu.js:138 +msgid "Open" +msgstr "開啟" + +# MT: LibreTranslate +#: app/fileItemMenu.js:156 app/fileItemMenu.js:160 +msgid "Extract Here" +msgstr "取出這裡" + +# MT: LibreTranslate +#: app/fileItemMenu.js:162 +msgid "Extract To..." +msgstr "取出到..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:170 app/fileItemMenu.js:177 +msgid "Open With..." +msgstr "以..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:176 +msgid "Open All With Other Application..." +msgstr "在其它應用程式中開啟全部..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:184 +msgid "Launch using Integrated Graphics Card" +msgstr "使用集成相片卡出發" + +# MT: LibreTranslate +#: app/fileItemMenu.js:206 +msgid "Stack This Type" +msgstr "堆疊此類型" + +# MT: LibreTranslate +#: app/fileItemMenu.js:207 +msgid "Unstack This Type" +msgstr "解除此類型" + +# MT: LibreTranslate +#: app/fileItemMenu.js:231 +msgid "Run as a Program" +msgstr "以程式執行" + +# MT: LibreTranslate +#: app/fileItemMenu.js:234 +msgid "Scripts" +msgstr "文稿" + +# MT: LibreTranslate +#: app/fileItemMenu.js:239 +msgid "Cut" +msgstr "切" + +# MT: LibreTranslate +#: app/fileItemMenu.js:244 +msgid "Move to..." +msgstr "移到..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:245 +msgid "Copy to..." +msgstr "复制到..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:249 +msgid "Rename…" +msgstr "重新命名.." + +# MT: LibreTranslate +#: app/fileItemMenu.js:254 +msgid "Create Link..." +msgstr "建立連接..." + +# MT: LibreTranslate +#: app/fileItemMenu.js:261 +msgid "Compress {0} folder" +msgid_plural "Compress {0} folders" +msgstr[0] "壓縮 {0} 資料夾" + +# MT: LibreTranslate +#: app/fileItemMenu.js:269 +msgid "Compress {0} file" +msgid_plural "Compress {0} files" +msgstr[0] "压缩 {0} 文件" + +# MT: LibreTranslate +#: app/fileItemMenu.js:276 +msgid "Email to..." +msgstr "通到." + +# MT: LibreTranslate +#: app/fileItemMenu.js:286 +msgid "Send to Mobile Device" +msgstr "送入可動裝置" + +# MT: LibreTranslate +#: app/fileItemMenu.js:294 +msgid "Move to Trash" +msgstr "移至資源回收桶" + +# MT: LibreTranslate +#: app/fileItemMenu.js:302 +msgid "Delete permanently" +msgstr "永久刪除" + +# MT: LibreTranslate +#: app/fileItemMenu.js:315 app/fileItemMenu.js:329 +msgid "Don't Allow Launching" +msgstr "不允許出發" + +# MT: LibreTranslate +#: app/fileItemMenu.js:339 +msgid "Empty Trash" +msgstr "空回收站" + +# MT: LibreTranslate +#: app/fileItemMenu.js:345 +msgid "Eject" +msgstr "退出" + +# MT: LibreTranslate +#: app/fileItemMenu.js:348 +msgid "Unmount" +msgstr "卸载" + +# MT: LibreTranslate +#: app/fileItemMenu.js:354 +msgid "Common Properties" +msgstr "共同屬性" + +# MT: LibreTranslate +#: app/fileItemMenu.js:355 +msgid "Properties" +msgstr "屬性" + +# MT: LibreTranslate +#: app/fileItemMenu.js:362 +msgid "Show All in {0}" +msgstr "在 {0} 中全部顯示" + +# MT: LibreTranslate +#: app/fileItemMenu.js:363 +msgid "Show in {0}" +msgstr "在 {0} 中顯示" + +# MT: LibreTranslate +#: app/fileItemMenu.js:374 +msgid "Open in {0}" +msgstr "在 {0} 中開啟" + +# MT: LibreTranslate +#: app/fileItemMenu.js:539 +msgid "Open Item" +msgstr "開啟項目" + +# MT: LibreTranslate +#: app/fileItemMenu.js:821 +msgid "Extraction Cancelled" +msgstr "已取出已取消" + +# MT: LibreTranslate +#: app/fileItemMenu.js:822 +msgid "Unable to extract File, no destination folder" +msgstr "無法取出 文件, 沒有目的目錄" + +# MT: LibreTranslate +#: app/fileItemMenu.js:878 app/fileItemMenu.js:907 +msgid "Select Destination" +msgstr "選擇目的地" + +# MT: LibreTranslate +#: app/fileItemMenu.js:881 app/fileItemMenu.js:909 +msgid "Select" +msgstr "選擇" + +# MT: LibreTranslate +#: app/fileItemMenu.js:965 +msgid "Can not email a Directory" +msgstr "不能傳送目錄" + +# MT: LibreTranslate +#: app/fileItemMenu.js:967 +msgid "Selection includes a Directory, compress to a .zip file first?" +msgstr "選擇中包括了目錄,先被壓縮到 .zip 檔案?" + +# MT: LibreTranslate +#: app/fileItemMenu.js:993 app/fileItemMenu.js:1024 app/fileItemMenu.js:1041 +#: app/fileItemMenu.js:1060 +msgid "Mail Error" +msgstr "郵件出錯" + +# MT: LibreTranslate +#: app/fileItemMenu.js:995 +msgid "Unable to find zip command, please install the program" +msgstr "找不到 zip 命令, 請安裝程式" + +# MT: LibreTranslate +#. Translators - basename for a zipped archive created for mailing +#: app/fileItemMenu.js:1001 +msgid "Archive.zip" +msgstr "存档. sip" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1025 +msgid "There was an error in creating a zip archive" +msgstr "在建立 zip 歸檔出錯" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1043 +msgid "Unable to find xdg-email, please install the program" +msgstr "找不到 xdg- 郵件, 請安裝程式" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1061 +msgid "There was an error in emailing Files" +msgstr "傳送檔案出錯" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1176 +msgid "Can Not open the Working Directory" +msgstr "不能開啟工作目錄" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1227 +msgid "Unable to Open in Gnome Console" +msgstr "在 Gnome 控制台中無法開啟" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1229 +msgid "Please Install Gnome Console or other Terminal Program" +msgstr "請安裝 Gnome 控制台或其他终端程式" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1237 +msgid "Unable to Open {0}" +msgstr "無法開啟 {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1239 +msgid "Please Install {0}" +msgstr "請安裝 {0}" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1283 +msgid "Copy Cancelled" +msgstr "复制已取消" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1284 +msgid "Unable to copy Files, no destination folder" +msgstr "無法复制檔案, 沒有目的目錄" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1307 +msgid "Move Cancelled" +msgstr "已取消" + +# MT: LibreTranslate +#: app/fileItemMenu.js:1308 +msgid "Unable to move Files, no destination folder" +msgstr "無法移出檔案, 沒有目的目錄" + +# MT: LibreTranslate +#: app/gnomeShellDragDrop.js:356 +msgid "$appName$ can not open files of this Type!" +msgstr "$appName$ 無法開啟此類型的檔案 !" + +# MT: LibreTranslate +#: app/preferences.js:1078 +msgid "Console" +msgstr "主控台" + +# MT: LibreTranslate +#: app/shortcutManager.js:98 +msgid "Default Shortcut:" +msgstr "預設捷徑 :" + +# MT: LibreTranslate +#: app/shortcutManager.js:122 +msgid "Type new..." +msgstr "有新字型..." + +# MT: LibreTranslate +#: app/shortcutManager.js:138 +msgid "Modifier + Key (e.g. Ctrl + Alt + D)" +msgstr "修改器 + 金鑰( 如 Ctrl +) 取代 + D)" + +# MT: LibreTranslate +#: app/shortcutManager.js:143 +msgid "Reset to Default" +msgstr "重置到預設值" + +# MT: LibreTranslate +#: app/shortcutManager.js:147 +msgid "No Accelerator" +msgstr "沒有加速器" + +# MT: LibreTranslate +#: app/shortcutManager.js:256 +msgid "System Shortcuts" +msgstr "系統捷徑" + +# MT: LibreTranslate +#: app/shortcutManager.js:257 +msgid "Common System Defined Keyboard Shortcuts" +msgstr "共同系統定義的鍵盤捷徑" + +# MT: LibreTranslate +#: app/shortcutManager.js:315 +msgid "Local Shortcuts" +msgstr "本地捷徑" + +# MT: LibreTranslate +#: app/shortcutManager.js:316 +msgid "Application Keyboard Shortcuts" +msgstr "應用鍵盤捷徑" + +# MT: LibreTranslate +#: app/shortcutManager.js:377 +msgid "Global Shortcuts" +msgstr "全局捷徑" + +# MT: LibreTranslate +#: app/shortcutManager.js:378 +msgid "System Keyboard Shortcuts" +msgstr "系統鍵盤捷徑" + +# MT: LibreTranslate +#: app/shortcutManager.js:694 +msgid "Keyboard Shortcuts" +msgstr "鍵盤捷徑" + +# MT: LibreTranslate +#: app/shortcutManager.js:706 +msgid "Reset Shortcuts" +msgstr "重設捷徑" + +# MT: LibreTranslate +#: app/shortcutManager.js:707 +msgid "Reset all shortcuts to Defaults" +msgstr "將所有捷徑重置至預設值" + +# MT: LibreTranslate +#: app/shortcutManager.js:710 +msgid "Reset All..." +msgstr "全部重置..." + +# MT: LibreTranslate +#: app/shortcuts.js:15 +msgid "Show Desktop in Files" +msgstr "在檔案中顯示桌面" + +# MT: LibreTranslate +#: app/shortcuts.js:16 +msgid "Open in Terminal" +msgstr "在终端中開啟" + +# MT: LibreTranslate +#: app/shortcuts.js:17 +msgid "Change Background" +msgstr "更改背景" + +# MT: LibreTranslate +#: app/shortcuts.js:18 +msgid "Change Display Settings" +msgstr "更改顯示設定值" + +# MT: LibreTranslate +#: app/shortcuts.js:19 +msgid "Change Desktop Icon Settings" +msgstr "更改桌面圖示設定" + +# MT: LibreTranslate +#: app/shortcuts.js:20 +msgid "Clean Up Icons" +msgstr "清理圖示" + +# MT: LibreTranslate +#: app/shortcuts.js:21 +msgid "Keep Arranged" +msgstr "保持排列" + +# MT: LibreTranslate +#: app/shortcuts.js:22 +msgid "Keep Stacked" +msgstr "繼續堆放" + +# MT: LibreTranslate +#: app/shortcuts.js:23 +msgid "Sort Special Folders" +msgstr "排序特殊資料夾" + +# MT: LibreTranslate +#: app/shortcuts.js:24 +msgid "Arrange Icons by Name" +msgstr "按名稱排列圖示" + +# MT: LibreTranslate +#: app/shortcuts.js:25 +msgid "Arrange Icons By Descending Name" +msgstr "以降級名稱排列圖示" + +# MT: LibreTranslate +#: app/shortcuts.js:26 +msgid "Arrange Icons By Modified Time" +msgstr "根据已修改的時間排列圖示" + +# MT: LibreTranslate +#: app/shortcuts.js:27 +msgid "Arrange Icons By Kind" +msgstr "排列圖示 由善良" + +# MT: LibreTranslate +#: app/shortcuts.js:28 +msgid "Arrange Icons By Size" +msgstr "按大小排列圖示" + +# MT: LibreTranslate +#: app/shortcuts.js:29 +msgid "Find Files" +msgstr "尋找文件" + +# MT: LibreTranslate +#: app/shortcuts.js:30 +msgid "Update Desktop" +msgstr "更新桌面" + +# MT: LibreTranslate +#: app/shortcuts.js:31 +msgid "Show Hidden Files" +msgstr "顯示隱藏的檔案" + +# MT: LibreTranslate +#: app/shortcuts.js:32 +msgid "Unselect All" +msgstr "全部取消選取" + +# MT: LibreTranslate +#: app/shortcuts.js:33 +msgid "Preview" +msgstr "預覽" + +#: app/shortcuts.js:34 +msgid "Toggle Keyboard Selection" +msgstr "" + +#: app/shortcuts.js:36 +msgid "Toggle Widget Layer" +msgstr "" + +#: app/shortcuts.js:37 app/widgetManager.js:1090 +msgid "Add Widget" +msgstr "新增小工具" + +# MT: LibreTranslate +#. Allow navigation while holding Shift/Ctrl/Alt (and their shift combos) +#: app/shortcuts.js:39 +msgid "Choose Icon Left" +msgstr "在左邊選擇圖示" + +# MT: LibreTranslate +#: app/shortcuts.js:42 +msgid "Choose Icon Right" +msgstr "向右選擇圖示" + +# MT: LibreTranslate +#: app/shortcuts.js:45 +msgid "Choose Icon Up" +msgstr "在上方選擇圖示" + +# MT: LibreTranslate +#: app/shortcuts.js:48 +msgid "Choose Icon Down" +msgstr "在下方選擇圖示" + +# MT: LibreTranslate +#: app/shortcuts.js:51 +msgid "Show Menu" +msgstr "顯示選單" + +# MT: LibreTranslate +#: app/shortcuts.js:52 +msgid "Display Shell Background Menu" +msgstr "顯示 shell 背景選單" + +# MT: LibreTranslate +#: app/shortcuts.js:53 +msgid "Create Desktop Shortcut" +msgstr "建立桌面捷徑" + +# MT: LibreTranslate +#: app/shortcuts.js:54 +msgid "Text Entry Accels Turn On" +msgstr "文字項目 Accels 開啟" + +# MT: LibreTranslate +#: app/shortcuts.js:55 +msgid "Text Entry Accels Turn Off" +msgstr "文字項目 Accels 關閉" + +# MT: LibreTranslate +#: app/shortcuts.js:57 +msgid "Show Shortcut Viewer" +msgstr "顯示捷徑 查看器" + +# MT: LibreTranslate +#: app/shortcuts.js:58 +msgid "Show Or Hide Desktop Icons" +msgstr "顯示或隱藏桌面圖示" + +# MT: LibreTranslate +#: app/showErrorPopup.js:42 +msgid "More Information" +msgstr "更多信息" + +# MT: LibreTranslate +#. TRANSLATORS: "Home" is the text that will be shown in +#. the user's personal folder +#: app/specialFolderIcon.js:57 app/specialFolderIcon.js:69 +msgid "Home" +msgstr "內容" + +# MT: LibreTranslate +#: app/specialFolderIcon.js:63 +msgid "Trash" +msgstr "回收站" + +# MT: LibreTranslate +#. * TRANSLATORS: when using a screen reader, +#. * this is the text read when a stack is +#. * selected. Example: if a stack named "pictures" +#. * is selected, it will say "Stack pictures" +#: app/stackItem.js:46 +msgid "Stack" +msgstr "堆疊" + +# MT: LibreTranslate +#: app/symLinkIcon.js:100 +msgid "Broken Link" +msgstr "已分解連接" + +# MT: LibreTranslate +#: app/symLinkIcon.js:102 +msgid "Can not open this File because it is a Broken Symlink" +msgstr "無法開啟此檔案, 因為它已破碎 Symlink" + +# MT: LibreTranslate +#: app/volumeIcon.js:58 +msgid "Drive" +msgstr "驱动" + +# MT: LibreTranslate +#: app/widgetManager.js:1564 +#, fuzzy +msgid "Widget preferences" +msgstr "首选项" + +#: app/widgetManager.js:1988 +msgid "HTML widget" +msgstr "" + +#: app/widgetManager.js:1990 +msgid "GTK widget" +msgstr "" + +#: app/widgetManager.js:1999 +msgid "User" +msgstr "使用者" + +#: app/widgetManager.js:2103 +msgid "Allow" +msgstr "允許" + +#: app/widgetManager.js:2151 +msgid "Strict" +msgstr "嚴格" + +#: app/widgetManager.js:2153 +msgid "" +"The widget runs in a tightly sandboxed web environment.\n" +"\n" +"• No external scripts or frames are allowed.\n" +"• Network access is limited to secure (HTTPS) requests.\n" +"• Only the widget’s own files and inline code may run.\n" +"\n" +"This is the safest option and is recommended for most widgets." +msgstr "" + +#: app/widgetManager.js:2164 +msgid "Relaxed" +msgstr "放鬆" + +#: app/widgetManager.js:2166 +msgid "" +"The widget is allowed broader web capabilities.\n" +"\n" +"• External scripts, styles, images, and frames from trusted websites may " +"load.\n" +"• Network access over HTTPS, WebSockets, and media streams is allowed.\n" +"\n" +"Use this only for widgets you trust." +msgstr "" + +#: app/widgetManager.js:2176 +msgid "Development" +msgstr "開發" + +#: app/widgetManager.js:2178 +msgid "" +"The widget runs with development-friendly web access.\n" +"\n" +"• Connections to local development servers (localhost) are allowed.\n" +"• HTTP and WebSocket access may be permitted for testing.\n" +"\n" +"This mode is intended for development and debugging only." +msgstr "" + +# MT: LibreTranslate +#: app/widgetManager.js:2187 +msgid "Default" +msgstr "預設" + +#: app/widgetManager.js:2189 +msgid "" +"The widget runs with a predefined web security policy.\n" +"\n" +"Web access and capabilities are restricted according to the active policy." +msgstr "" + +#: app/widgetManager.js:2197 +msgid "Allow web content for {widgetId}?" +msgstr "" + +#. eslint-disable-next-line prefer-template +#: app/widgetManager.js:2202 +msgid "" +"The widget you are adding may load web content from the internet.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2203 +msgid "" +"This content is subject to the widget security policy:\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2232 +msgid "" +"This widget, {widgetId} runs a background process on your computer.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2234 +msgid "" +"The backend runs with your normal user permissions, just like any other " +"application you start.\n" +msgstr "" + +#: app/widgetManager.js:2235 +msgid "" +"It can access your files, system resources, and the network according to " +"your user account permissions.\n" +"\n" +msgstr "" + +#: app/widgetManager.js:2236 +msgid "Command:\n" +msgstr "命令:\n" + +#: app/widgetManager.js:2237 +msgid "Only allow this for widgets you implicitly trust." +msgstr "" + +#: app/widgetManager.js:2240 +msgid "Allow widget backend?" +msgstr "" + +# MT: LibreTranslate +#: app/widgetWebContext.js:187 +#, fuzzy +msgid "Widget Preferences" +msgstr "首选项" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:67 +msgid "\"${programName}\" is not available" +msgstr "\"${programName}\" 不可用" + +# MT: LibreTranslate +#: app/utils/dbusUtils.js:70 +msgid "" +"Install \"${programName}\" to enable Desktop Icons to perform these actions." +msgstr "安裝 \"${programName}\" 以讓桌面圖示能執行這些動作 ." + +# MT: LibreTranslate +#: app/utils/desktopFolderUtils.js:84 +msgid "Choose Desktop Folder" +msgstr "選擇桌面資料夾" + +# MT: LibreTranslate +#: app/utils/desktopIconsUtil.js:239 +msgid "Command not found" +msgstr "找不到命令" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:47 +msgid "Choose an app to open the selected files." +msgstr "選擇開啟所選取的檔案的應用程式 ." + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:81 +msgid "Always use for this file type" +msgstr "常用此檔案類型" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:104 +msgid "_Cancel" +msgstr "取消(_C)" + +# MT: LibreTranslate +#: data/ui/ding-app-chooser.ui:110 +msgid "_Open" +msgstr "開啟(_O)" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:5 +msgid "Display icons on the GNOME desktop" +msgstr "在 GNOME 桌面上顯示圖示" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:6 +msgid "desktop;icons;files;folders;manager;arrange;hide;show;launcher;shortcuts;" +msgstr "桌面; icons; 文件; 收件; 管理; 排列; 隱藏; 顯示; 發射; 短剪;" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:21 +msgid "Show<>Hide" +msgstr "顯示 {} 隱藏" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:33 +msgid "Preferences" +msgstr "首选项" + +# MT: LibreTranslate +#: data/com.desktop.ding.desktop.in:37 +msgid "Disable" +msgstr "禁用" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:25 +msgid "Icon size" +msgstr "圖示大小" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:26 +msgid "Set the size for the desktop icons." +msgstr "为桌面圖示設定大小 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:30 +msgid "Show personal folder" +msgstr "顯示個人資料夾" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:31 +msgid "Show the personal folder in the desktop." +msgstr "在桌面上顯示個人資料夾 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:35 +msgid "Show trash icon" +msgstr "顯示垃圾圖示" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:36 +msgid "Show the trash icon in the desktop." +msgstr "在桌面上顯示垃圾圖示 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:40 +msgid "New icons start corner" +msgstr "新圖示起跑角" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:41 +msgid "Set the corner from where the icons will start to be placed." +msgstr "从圖示被放入的角落中 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:45 +msgid "Show external drives in the desktop" +msgstr "在桌面上顯示外接磁碟" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:46 +msgid "Show the disk drives connected to the computer." +msgstr "" +"顯示相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關" +"相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關" +"相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關相關" +"相關相關相關相相關相關相關相關相關相關相關相關相相關相相關相關相相相相關相相" +"相相關相相相相相相相相關相相相相相相相相相相相相相相相相相相相相相相相相相相" +"相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相" +"相相相相相相相相相相相相相相相相相相相相相相相相相相相相." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:50 +msgid "Show network drives in the desktop" +msgstr "在桌面上顯示網路驅動程式" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:51 +msgid "Show mounted network volumes in the desktop." +msgstr "在桌面上顯示已載入的網路音量 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:55 +msgid "Add new drives to the opposite side of the screen" +msgstr "在屏幕相對一邊新增硬碟" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:56 +msgid "" +"When adding drives and volumes to the desktop, add them to the opposite side " +"of the screen." +msgstr "在桌面上加入磁碟和相關卷時, 在屏幕相對一處加入 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:60 +msgid "Shows a rectangle in the destination place during DnD" +msgstr "在 DnD 相關地點顯示矩形" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:61 +msgid "" +"When doing a Drag'n'Drop operation, marks the place in the grid where the " +"icon will be put with a semitransparent rectangle." +msgstr "在做 Drag'n' Drop 操作時, 在網格上標出以半透明矩形放入圖示的地方 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:65 +msgid "Sort Special Folders - Home/Trash Drives." +msgstr "排序相關相關資料夾- Home/ Trash Drivers ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:66 +msgid "" +"When arranging Icons on desktop, to sort and change the position of the " +"Home, Trash and mounted Network or External Drives" +msgstr "" +"在桌面上排列圖示以排序并改變 Home, 資源回收站和已載入的網路或外接 Drives 的位" +"置" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:70 +msgid "Keep Icons Arranged" +msgstr "保持圖示排列" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:71 +msgid "Always keep Icons Arranged by the last arranged order" +msgstr "常保留圖示 由上一排排列" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:75 +msgid "Arrange Order" +msgstr "排列顺序" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:76 +msgid "Icons Arranged by this property" +msgstr "由此屬性所排列的圖示" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:80 +msgid "Keep Icons Stacked" +msgstr "儲存圖示" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:81 +msgid "Always keep Icons Stacked, Similar types are grouped" +msgstr "" +"有相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相" +"相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相" +"相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相" +"相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相" +"相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相" +"相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相" +"相相相相相相相相相相相相相相相相相相相相相相相相相相相相" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:85 +msgid "Type of Files to not Stack" +msgstr "要儲存的檔案型態" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:86 +msgid "An Array of strings types, Don't Stack these types of files" +msgstr "串列類型, 不要堆放這些類型的檔案" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:90 +msgid "Add an emblem to links" +msgstr "在連結中新增徽章" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:91 +msgid "Add an emblem to allow to identify soft links." +msgstr "新增一面徽章以可以辨識出軟連結 ." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:95 +msgid "Use black for label text" +msgstr "在標籤上使用黑色文字" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:96 +msgid "" +"Paint the label text in black instead of white. Useful when using light " +"backgrounds." +msgstr "在標籤上用黑色而不是白色畫出。 在使用光背景相時有用." + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:100 +msgid "Show new icons on non primary monitor if connected" +msgstr "如果連接, 在非主监视器上顯示新圖示" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:101 +msgid "" +"If a second monitor is connected, new icons are placed on the non primary " +"monitor" +msgstr "如果接通了第二個監控器, 在非主監控器上放入了新的圖示" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:105 +msgid "Icons can be positioned anywhere on Desktop" +msgstr "圖示可以被定位到桌面上的任何一處" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:106 +msgid "" +"Icons are not on a rectangular grid but can be postioned anywhere " +"independent of grid" +msgstr "圖示不是在矩形格子上取而代之,而可以被收起去除格子以外的任何地方" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:110 +msgid "Show Desktop Widgets" +msgstr "桌面小部件" + +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:111 +msgid "Displays Widgets in a layer below the icons if installed" +msgstr "" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:115 +msgid "Hide/Show all desktop windows" +msgstr "隱藏/ 顯示所有桌面視窗" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:116 +msgid "Show the icons on the desktop, or hide them all" +msgstr "在桌面上顯示圖示或全部隱藏" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:120 +msgid "User Application Shortcuts" +msgstr "使用者應用程式捷徑" + +# MT: LibreTranslate +#: schemas/org.gnome.shell.extensions.gtk4-ding.gschema.xml:121 +msgid "Override for default application shortcuts set by the User" +msgstr "覆蓋使用者所設定的預設應用捷徑" diff --git a/ding/utils/fileUtils.js b/ding/utils/fileUtils.js new file mode 100644 index 0000000..010c550 --- /dev/null +++ b/ding/utils/fileUtils.js @@ -0,0 +1,173 @@ +/* eslint-disable jsdoc/require-param-type */ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Copyright (C) 2022 Marco Trevisan + * + * 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 . + */ +import Gio from 'gi://Gio'; +import GLib from 'gi://GLib'; + +const DEFAULT_ENUMERATE_BATCH_SIZE = 100; +const DEFAULT_QUERY_ATTRIBUTES = [ + Gio.FILE_ATTRIBUTE_STANDARD_NAME, + Gio.FILE_ATTRIBUTE_STANDARD_TYPE, +].join(','); + +/** + * + * @param dir + * @param cancellable + * @param priority + * @param queryAttributes + */ +// eslint-disable-next-line consistent-return +export async function enumerateDir(dir, cancellable = null, priority = GLib.PRIORITY_DEFAULT, + queryAttributes = DEFAULT_QUERY_ATTRIBUTES) { + let childrenEnumerator; + try { + childrenEnumerator = await dir.enumerate_children_async(queryAttributes, + Gio.FileQueryInfoFlags.NONE, priority, cancellable); + + const children = []; + while (true) { + // The enumerator doesn't support multiple async calls, nor + // we can predict how many they will be, so using Promise.all + // isn't an option here, thus we just need to await each batch + // eslint-disable-next-line no-await-in-loop + const batch = await childrenEnumerator.next_files_async( + DEFAULT_ENUMERATE_BATCH_SIZE, priority, cancellable); + + if (!batch.length) + return children; + + children.push(...batch); + } + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) { + console.error('Desktop directory does not exist'); + return []; + } + } finally { + if (!childrenEnumerator?.is_closed()) + await childrenEnumerator?.close_async(priority, null); + } +} + +/** + * + * @param dir + * @param deleteParent + * @param cancellable + * @param priority + */ +export async function recursivelyDeleteDir(dir, deleteParent, cancellable = null, + priority = GLib.PRIORITY_DEFAULT) { + const children = await enumerateDir(dir, cancellable, priority); + for (let info of children) + // eslint-disable-next-line no-await-in-loop + await deleteFile(dir.get_child(info.get_name()), info, cancellable, priority); + + + if (deleteParent) + await dir.delete_async(priority, cancellable); +} + +/** + * + * @param file + * @param info + * @param cancellable + * @param priority + */ +export async function deleteFile(file, info = null, cancellable = null, + priority = GLib.PRIORITY_DEFAULT) { + if (!info) { + info = await file.query_info_async( + Gio.FILE_ATTRIBUTE_STANDARD_TYPE, Gio.FileQueryInfoFlags.NONE, + priority, cancellable); + } + + const type = info.get_file_type(); + if (type === Gio.FileType.REGULAR || type === Gio.FileType.SYMBOLIC_LINK) { + await file.delete_async(priority, cancellable); + } else if (type === Gio.FileType.DIRECTORY) { + await recursivelyDeleteDir(file, true, cancellable, priority); + } else { + throw new GLib.Error(Gio.IOErrorEnum, + Gio.IOErrorEnum.NOT_SUPPORTED, + `${file.get_path()} of type ${type} cannot be removed`); + } +} + +/** + * + * @param file + * @param cancellable + * @param priority + */ +export async function queryExists(file, cancellable = null, + priority = GLib.PRIORITY_DEFAULT) { + try { + await file.query_info_async(Gio.FILE_ATTRIBUTE_STANDARD_TYPE, + Gio.FileQueryInfoFlags.NONE, priority, cancellable); + return true; + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED)) + throw e; + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) + console.error(e); + return false; + } +} + +/** + * + * @param dir + * @param cancellable + * @param priority + */ +export async function recursivelyMakeDir(dir, cancellable = null, + priority = GLib.PRIORITY_DEFAULT) { + try { + await dir.make_directory_async(priority, cancellable); + } catch (e) { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) + throw e; + } + + const missingDirs = [dir]; + for (let parent = dir.get_parent(); parent; parent = parent.get_parent()) { + try { + // eslint-disable-next-line no-await-in-loop + await parent.make_directory_async(priority, cancellable); + } catch (e) { + if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.EXISTS)) + break; + else if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) + missingDirs.unshift(parent); + else + throw e; + } + } + + // Sadly we must be sequential here, so we can't use Promise.all + missingDirs.forEach(async direct => { + try { + await direct.make_directory_async(priority, cancellable); + } catch (e) { + if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.EXISTS)) + throw e; + } + }); +} diff --git a/ding/visibleArea.js b/ding/visibleArea.js new file mode 100644 index 0000000..263063e --- /dev/null +++ b/ding/visibleArea.js @@ -0,0 +1,164 @@ +/* DING: Desktop Icons New Generation for GNOME Shell + * + * Copyright (C) 2021 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 . + */ + +import GLib from 'gi://GLib'; + +import * as Main from 'resource:///org/gnome/shell/ui/main.js'; + +export {VisibleArea}; + +const Signals = imports.signals; + +var VisibleArea = class { + constructor() { + this._usableAreas = {}; + this._marginsList = {}; + this._refreshTimerId = null; + // This UUID allows to ensure that the object is really a DesktopIconsIntegration object + this._extensionUUID = '130cbc66-235c-4bd6-8571-98d2d8bba5e2'; + } + + disable() { + if (this._refreshTimerId !== null) { + GLib.source_remove(this._refreshTimerId); + this._refreshTimerId = null; + } + } + + setMarginsForExtension(extensionUUID, margins) { + if (margins === null) { + if (!(extensionUUID in this._marginsList)) + return; + + delete this._marginsList[extensionUUID]; + } else { + this._marginsList[extensionUUID] = margins; + } + if (this._refreshTimerId) + GLib.source_remove(this._refreshTimerId); + + this._refreshTimerId = GLib.timeout_add(GLib.PRIORITY_DEFAULT, 250, () => { + this._refreshMargins(); + this._refreshTimerId = null; + return GLib.SOURCE_REMOVE; + }); + } + + _refreshMargins() { + this._usableAreas = {}; + for (let extensionUUID in this._marginsList) { + let margins = this._marginsList[extensionUUID]; + for (let workspace in margins) { + let index = workspace; + if (workspace < 0) + index = Main.layoutManager.primaryIndex; + + if (!(index in this._usableAreas)) { + this._usableAreas[index] = { + top: 0, + bottom: 0, + left: 0, + right: 0, + }; + } + for (let index2 of ['top', 'bottom', 'left', 'right']) + this._usableAreas[index][index2] = Math.max(this._usableAreas[index][index2], margins[workspace][index2]); + } + } + this.emit('updated-usable-area'); + } + + /** + * Returns the margin values for an specific monitor + * + * @param {} ws A workspace (obtained with global.workspace_manager.get_workspace_by_index(0);) + * @param {*} monitorIndex The monitor number + * @returns A dictionary with the following elements: + * x: the X coordinate of the monitor area + * y: the Y coordinate of the monitor area + * width: the width of the monitor area + * height: the height of the monitor area + * scale: the scale factor for this monitor + * marginTop: the number of pixels, counting from the top of the monitor, to leave free because are used by a dynamic element + * marginBottom: the number of pixels, counting from the bottom of the monitor, to leave free because are used by a dynamic element + * marginLeft: the number of pixels, counting from the left of the monitor area, to leave free because are used by a dynamic element + * marginRight: the number of pixels, counting from the right of the monitor area, to leave free because are used by a dynamic element + * + * The inner margins so returned automatically describe the working area of the monitor (in Gnome terms) that for example the top margin will + * automatically include the height of the top panel. + * + * In addition any extra margins above that set by gnome by othe extensions in usable areas will be returned if they are bigger than the margins + * described by gnome shell for the work area + * + * Thus, a window that covers the whole monitor area should be placed at X,Y and with a size of (width, height), and + * it must have inner margins of marginTop, marginRight, marginBottom and marginLeft. + */ + + getMonitorGeometry(ws, monitorIndex) { + let geometry = ws.get_display().get_monitor_geometry(monitorIndex); + let scale = ws.get_display().get_monitor_scale(monitorIndex); + let area = ws.get_work_area_for_monitor(monitorIndex); + + // calculate the margins due to the difference between the monitor geometry and the work area, ie. the work area margins + let marginTop = area.y - geometry.y; + let marginLeft = area.x - geometry.x; + let marginRight = geometry.width - area.width - marginLeft; + let marginBottom = geometry.height - area.height - marginTop; + + if (monitorIndex in this._usableAreas) { + // If the margins for this monitor are bigger than the margins calculated previously, + // use the higher number. This is because the margin set from the extensions are be from the monitor border, + // an can supersede the ones that actually form the work area border. + + // Indirectly flag hidden margins if usableAreas margin is set // + + const hiddenMargin = 1000; + + if (this._usableAreas[monitorIndex]['top'] > marginTop) + marginTop = this._usableAreas[monitorIndex]['top'] + hiddenMargin; + + + if (this._usableAreas[monitorIndex]['bottom'] > marginBottom) + marginBottom = this._usableAreas[monitorIndex]['bottom'] + hiddenMargin; + + + if (this._usableAreas[monitorIndex]['left'] > marginLeft) + marginLeft = this._usableAreas[monitorIndex]['left'] + hiddenMargin; + + + if (this._usableAreas[monitorIndex]['right'] > marginRight) + marginRight = this._usableAreas[monitorIndex]['right'] + hiddenMargin; + } + + return { + x: geometry.x, + y: geometry.y, + width: geometry.width, + height: geometry.height, + scale, + marginTop, + marginBottom, + marginLeft, + marginRight, + }; + } + + get uuid() { + return this._extensionUUID; + } +}; +Signals.addSignalMethods(VisibleArea.prototype); diff --git a/metadata.json b/metadata.json index 7dba8dc..63d6559 100644 --- a/metadata.json +++ b/metadata.json @@ -1,10 +1,10 @@ { - "extension-id": "zorin-taskbar", - "uuid": "zorin-taskbar@zorinos.com", - "name": "Zorin Taskbar", - "description": "A taskbar extension for the Zorin OS desktop.", - "shell-version": [ "46", "47", "48", "49" ], - "gettext-domain": "zorin-taskbar", - "settings-schema": "org.gnome.shell.extensions.zorin-taskbar", - "version": 70 + "extension-id": "vesperos-taskbar", + "uuid": "vesperos-taskbar@oxmc.me", + "name": "Vesperos Taskbar", + "description": "A taskbar extension for the VesperOS desktop.", + "shell-version": [ "46", "47", "48", "49", "50" ], + "gettext-domain": "vesperos-taskbar", + "settings-schema": "org.gnome.shell.extensions.vesperos-taskbar", + "version": 72 } diff --git a/po/pl.po b/po/pl.po index 49c87a9..0f82154 100644 --- a/po/pl.po +++ b/po/pl.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-29 20:09+0200\n" -"PO-Revision-Date: 2025-07-29 20:14+0200\n" +"POT-Creation-Date: 2025-09-18 19:38+0200\n" +"PO-Revision-Date: 2025-09-18 19:40+0200\n" "Last-Translator: Piotr Orzechowski \n" "Language-Team: Polish\n" "Language: pl\n" @@ -17,7 +17,7 @@ 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" -"X-Generator: Poedit 3.6\n" +"X-Generator: Poedit 3.7\n" #: schemas/org.gnome.shell.extensions.dash-to-panel.gschema.xml:75 msgid "Panel position (Deprecated)" @@ -1953,225 +1953,229 @@ msgstr "Zobacz, co nowego" msgid "Top Bar" msgstr "Górny pasek" -#: src/prefs.js:261 +#: src/prefs.js:264 msgid "Show Desktop button height (px)" msgstr "Wysokość przycisku Pokaż pulpit (px)" -#: src/prefs.js:262 +#: src/prefs.js:265 msgid "Show Desktop button width (px)" msgstr "Szerokość przycisku Pokaż pulpit (px)" -#: src/prefs.js:334 ui/SettingsPosition.ui:133 ui/SettingsStyle.ui:218 +#: src/prefs.js:337 ui/SettingsPosition.ui:133 ui/SettingsStyle.ui:218 msgid "Left" msgstr "Po lewej" -#: src/prefs.js:335 +#: src/prefs.js:338 msgid "Center" msgstr "Wyśrodkowane" -#: src/prefs.js:336 ui/SettingsPosition.ui:142 ui/SettingsStyle.ui:226 +#: src/prefs.js:339 ui/SettingsPosition.ui:142 ui/SettingsStyle.ui:226 msgid "Right" msgstr "Po prawej" -#: src/prefs.js:338 ui/BoxWindowPreviewOptions.ui:334 +#: src/prefs.js:341 ui/BoxWindowPreviewOptions.ui:334 #: ui/SettingsPosition.ui:124 ui/SettingsStyle.ui:210 msgid "Top" msgstr "U góry" -#: src/prefs.js:339 src/prefs.js:344 ui/SettingsPosition.ui:198 +#: src/prefs.js:342 src/prefs.js:347 ui/SettingsPosition.ui:198 msgid "Middle" msgstr "Po środku" -#: src/prefs.js:340 ui/BoxWindowPreviewOptions.ui:325 +#: src/prefs.js:343 ui/BoxWindowPreviewOptions.ui:325 #: ui/SettingsPosition.ui:115 ui/SettingsStyle.ui:202 msgid "Bottom" msgstr "U dołu" -#: src/prefs.js:343 ui/SettingsPosition.ui:197 +#: src/prefs.js:346 ui/SettingsPosition.ui:197 msgid "Start" msgstr "Początek" -#: src/prefs.js:345 ui/SettingsPosition.ui:199 +#: src/prefs.js:348 ui/SettingsPosition.ui:199 msgid "End" msgstr "Koniec" -#: src/prefs.js:470 +#: src/prefs.js:473 msgid "Show Applications button" msgstr "Pokaż programy" -#: src/prefs.js:471 +#: src/prefs.js:474 msgid "Activities button" msgstr "Aktywności" -#: src/prefs.js:472 +#: src/prefs.js:475 msgid "Taskbar" msgstr "Pasek zadań" -#: src/prefs.js:473 +#: src/prefs.js:476 msgid "Date menu" msgstr "Menu daty" -#: src/prefs.js:474 +#: src/prefs.js:477 msgid "System menu" msgstr "Menu systemowe" -#: src/prefs.js:475 +#: src/prefs.js:478 msgid "Left box" msgstr "Lewe pole" -#: src/prefs.js:476 +#: src/prefs.js:479 msgid "Center box" msgstr "Środkowe pole" -#: src/prefs.js:477 +#: src/prefs.js:480 msgid "Right box" msgstr "Prawe pole" -#: src/prefs.js:478 +#: src/prefs.js:481 msgid "Desktop button" msgstr "Pokaż pulpit" -#: src/prefs.js:488 src/prefs.js:2979 +#: src/prefs.js:491 src/prefs.js:3015 msgid "Move up" msgstr "W górę" -#: src/prefs.js:490 src/prefs.js:2987 +#: src/prefs.js:493 src/prefs.js:3023 msgid "Move down" msgstr "W dół" -#: src/prefs.js:496 +#: src/prefs.js:499 msgid "Visible" msgstr "Pokaż" -#: src/prefs.js:500 +#: src/prefs.js:503 msgid "Select element position" msgstr "Wybierz położenie elementu" -#: src/prefs.js:514 +#: src/prefs.js:517 msgid "Stacked to top" msgstr "Przypięto do góry" -#: src/prefs.js:514 +#: src/prefs.js:517 msgid "Stacked to left" msgstr "Przypięto do lewej" -#: src/prefs.js:518 +#: src/prefs.js:521 msgid "Stacked to bottom" msgstr "Przypięto do dołu" -#: src/prefs.js:518 +#: src/prefs.js:521 msgid "Stacked to right" msgstr "Przypięto do prawej" -#: src/prefs.js:520 +#: src/prefs.js:523 msgid "Centered" msgstr "Wyśrodkowano" -#: src/prefs.js:521 +#: src/prefs.js:524 msgid "Monitor Center" msgstr "Wyśrodkowane zględem ekranu" -#: src/prefs.js:548 +#: src/prefs.js:551 msgid "More options" msgstr "Więcej opcji" -#: src/prefs.js:583 +#: src/prefs.js:586 msgid "Reset to defaults" msgstr "Przywróć domyślne" -#: src/prefs.js:606 +#: src/prefs.js:609 msgid "Show Applications options" msgstr "Pokaż opcje programów" -#: src/prefs.js:667 +#: src/prefs.js:670 msgid "Open icon" msgstr "Wybierz ikonę" -#: src/prefs.js:685 +#: src/prefs.js:688 msgid "Show Desktop options" msgstr "Opcje Pokaż pulpit" -#: src/prefs.js:777 +#: src/prefs.js:780 msgid "Primary monitor" msgstr "Główny monitor" -#: src/prefs.js:778 +#: src/prefs.js:781 msgid "Monitor " msgstr "Monitor " -#: src/prefs.js:907 +#: src/prefs.js:910 msgid "Running Indicator Options" msgstr "Opcje wskaźnika aktywnych programów" -#: src/prefs.js:1443 +#: src/prefs.js:1446 msgid "Dynamic opacity options" msgstr "Opcje dynamicznej przeźroczystości" -#: src/prefs.js:1867 +#: src/prefs.js:1870 msgid "Intellihide options" msgstr "Opcje inteligentnego ukrywania" -#: src/prefs.js:2107 +#: src/prefs.js:2110 msgid "Window preview options" msgstr "Opcje podglądu okna" -#: src/prefs.js:2658 +#: src/prefs.js:2590 +msgid "Isolate Workspaces options" +msgstr "Opcje niezależnych obszarów roboczych" + +#: src/prefs.js:2694 msgid "Ungrouped application options" msgstr "Opcje niepogrupowanych aplikacji" -#: src/prefs.js:2825 +#: src/prefs.js:2861 msgid "Customize middle-click behavior" msgstr "Dostosuj działanie środkowego przycisku myszy" -#: src/prefs.js:2954 +#: src/prefs.js:2990 msgid "Text" msgstr "Tekst" -#: src/prefs.js:2963 +#: src/prefs.js:2999 msgid "Command" msgstr "Polecenie" -#: src/prefs.js:2995 +#: src/prefs.js:3031 msgid "Remove" msgstr "Usuń" -#: src/prefs.js:3023 +#: src/prefs.js:3059 msgid "Customize panel scroll behavior" msgstr "Dostosuj reakcję na przewijanie nad panelem" -#: src/prefs.js:3069 +#: src/prefs.js:3105 msgid "Customize icon scroll behavior" msgstr "Dostosuj reakcję na przewijanie nad ikoną" -#: src/prefs.js:3193 +#: src/prefs.js:3229 msgid "Advanced hotkeys options" msgstr "Zaawansowane opcje skrótów klawiszowych" -#: src/prefs.js:3221 +#: src/prefs.js:3257 msgid "Secondary Menu Options" msgstr "Opcje menu kontekstowego" -#: src/prefs.js:3421 +#: src/prefs.js:3457 #, javascript-format msgid "%d ms" msgstr "%d ms" -#: src/prefs.js:3427 +#: src/prefs.js:3463 #, javascript-format msgid "%d °" msgstr "%d °" -#: src/prefs.js:3433 src/prefs.js:3439 +#: src/prefs.js:3469 src/prefs.js:3475 #, javascript-format msgid "%d %%" msgstr "%d %%" -#: src/prefs.js:3445 +#: src/prefs.js:3481 #, javascript-format msgid "%.1f" msgstr "%.1f" -#: src/prefs.js:3451 +#: src/prefs.js:3487 #, javascript-format msgid "%d icon" msgid_plural "%d icons" @@ -2179,19 +2183,19 @@ msgstr[0] "%d ikon" msgstr[1] "%d ikona" msgstr[2] "%d ikon" -#: src/prefs.js:3578 +#: src/prefs.js:3614 msgid "App icon animation options" msgstr "Opcje animowania ikony programu" -#: src/prefs.js:3701 +#: src/prefs.js:3737 msgid "App icon highlight options" msgstr "Opcje podświetlania ikony programu" -#: src/prefs.js:3790 +#: src/prefs.js:3826 msgid "Export settings" msgstr "Eksportuj ustawienia" -#: src/prefs.js:3812 +#: src/prefs.js:3848 msgid "Import settings" msgstr "Importuj ustawienia" @@ -2477,6 +2481,10 @@ msgstr "Opóźnienie przed pokazaniem panelu (ms)" msgid "Delay before enabling intellihide on start (ms)" msgstr "Opóźnienie przed aktywacją inteligentnego ukrywania (ms)" +#: ui/BoxIsolateWorkspacesOptions.ui:22 +msgid "Isolate workspaces in gnome-shell Application Switcher" +msgstr "Izolowanie obszarów roboczych w przełączniku programów GNOME Shell" + #: ui/BoxMiddleClickOptions.ui:19 msgid "Shift+Click action" msgstr "Kliknięcie myszą + Shift" @@ -3047,67 +3055,67 @@ msgstr "Wpisy menu kontekstowego panelu" msgid "Add entry" msgstr "Dodaj wpis" -#: ui/SettingsBehavior.ui:5 +#: ui/SettingsBehavior.ui:7 msgid "Behavior" msgstr "Zachowanie" -#: ui/SettingsBehavior.ui:11 +#: ui/SettingsBehavior.ui:10 msgid "Applications" msgstr "Aplikacje" -#: ui/SettingsBehavior.ui:15 +#: ui/SettingsBehavior.ui:13 msgid "Show favorite applications" msgstr "Pokaż ulubione programy" -#: ui/SettingsBehavior.ui:26 +#: ui/SettingsBehavior.ui:23 msgid "Show favorite applications on secondary panels" msgstr "Pokaż ulubione programy na dodatkowym panelu" -#: ui/SettingsBehavior.ui:37 +#: ui/SettingsBehavior.ui:33 msgid "Show running applications" msgstr "Pokaż uruchomione programy" -#: ui/SettingsBehavior.ui:48 +#: ui/SettingsBehavior.ui:43 msgid "Ungroup applications" msgstr "Rozgrupuj programy" -#: ui/SettingsBehavior.ui:73 +#: ui/SettingsBehavior.ui:67 msgid "Show notification counter badge" msgstr "Pokaż licznik powiadomień" -#: ui/SettingsBehavior.ui:90 +#: ui/SettingsBehavior.ui:81 msgid "Hover" msgstr "Najechanie kursorem" -#: ui/SettingsBehavior.ui:94 +#: ui/SettingsBehavior.ui:84 msgid "Show window previews on hover" msgstr "Pokaż podgląd okna po najechaniu myszą" -#: ui/SettingsBehavior.ui:119 +#: ui/SettingsBehavior.ui:108 msgid "Show tooltip on hover" msgstr "Pokaż etykietkę po najechaniu kursorem" -#: ui/SettingsBehavior.ui:134 +#: ui/SettingsBehavior.ui:120 msgid "Isolate" msgstr "Niezależne" -#: ui/SettingsBehavior.ui:138 +#: ui/SettingsBehavior.ui:123 msgid "Isolate Workspaces" msgstr "Niezależne obszary robocze" -#: ui/SettingsBehavior.ui:149 +#: ui/SettingsBehavior.ui:147 msgid "Isolate monitors" msgstr "Niezależne ekrany" -#: ui/SettingsBehavior.ui:164 +#: ui/SettingsBehavior.ui:159 msgid "Overview" msgstr "Przegląd" -#: ui/SettingsBehavior.ui:168 +#: ui/SettingsBehavior.ui:162 msgid "Click empty space to close overview" msgstr "Kliknij na pustą przestrzeń, aby zamknąć przegląd" -#: ui/SettingsBehavior.ui:179 +#: ui/SettingsBehavior.ui:172 msgid "Disable show overview on startup" msgstr "Wyłącz pokazywanie przeglądu przy uruchomieniu" diff --git a/po/sk.po b/po/sk.po index 9ffcf08..f0c4c88 100644 --- a/po/sk.po +++ b/po/sk.po @@ -2,14 +2,14 @@ # Copyright (C) 2018 # This file is distributed under the same license as the dash-to-panel package. # Jose Riha , 2021. -# Jozef Gaal , 2024. +# Jozef Gaal , 2024, 2025. # msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-08 08:31-0500\n" -"PO-Revision-Date: 2024-12-07 02:10+0100\n" +"POT-Creation-Date: 2025-09-28 21:13+0200\n" +"PO-Revision-Date: 2025-09-28 22:52+0200\n" "Last-Translator: Jozef Gaal \n" "Language-Team: Jozef Gaal \n" "Language: sk\n" @@ -17,171 +17,291 @@ msgstr "" "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 3.4.2\n" +"X-Generator: Poedit 3.6\n" -#: prefs.js:247 +#: appIcons.js:1927 appIcons.js:1938 ui/BoxMiddleClickOptions.ui:33 +#: ui/BoxMiddleClickOptions.ui:62 ui/BoxMiddleClickOptions.ui:91 +msgid "Quit" +msgstr "Ukončiť" + +#: appIcons.js:1944 +#, javascript-format +msgid "Quit %d Window" +msgid_plural "Quit %d Windows" +msgstr[0] "Ukončiť %d okno" +msgstr[1] "Ukončiť %d okná" +msgstr[2] "Ukončiť %d okien" + +#: appIcons.js:2271 +msgid "Power options" +msgstr "Možnosti napájania" + +#: appIcons.js:2276 +msgid "Event logs" +msgstr "Záznamy udalostí" + +#: appIcons.js:2281 +msgid "System" +msgstr "Systém" + +#: appIcons.js:2286 +msgid "Device Management" +msgstr "Správa zariadení" + +#: appIcons.js:2291 +msgid "Disk Management" +msgstr "Správa diskov" + +#: appIcons.js:2322 +msgid "Unlock taskbar" +msgstr "Odomknúť panel úloh" + +#: appIcons.js:2323 +msgid "Lock taskbar" +msgstr "Zamknúť panel úloh" + +#: appIcons.js:2333 +msgid "Gnome Settings" +msgstr "Nastavenia Gnome" + +#: appIcons.js:2337 +msgid "Taskbar Settings" +msgstr "Nastavenia panela úloh" + +#: appIcons.js:2344 +msgid "Restore Windows" +msgstr "Obnoviť okná" + +#: appIcons.js:2345 +msgid "Show Desktop" +msgstr "Zobraziť plochu" + +#: prefs.js:264 msgid "Show Desktop button height (px)" msgstr "Výška tlačidla zobrazenia plochy (px)" -#: prefs.js:247 +#: prefs.js:265 msgid "Show Desktop button width (px)" msgstr "Šírka tlačidla zobrazenia plochy (px)" -#: prefs.js:259 -msgid "Unavailable when gnome-shell top panel is present" -msgstr "Nedostupné, ak je aktívny horný panel gnome-shell" - -#: prefs.js:317 ui/SettingsPosition.ui.h:12 ui/SettingsStyle.ui.h:11 +#: prefs.js:337 ui/SettingsStyle.ui:218 ui/SettingsPosition.ui:133 msgid "Left" msgstr "Vľavo" -#: prefs.js:318 +#: prefs.js:338 msgid "Center" msgstr "Stred" -#: prefs.js:319 ui/SettingsPosition.ui.h:13 ui/SettingsStyle.ui.h:12 +#: prefs.js:339 ui/SettingsStyle.ui:226 ui/SettingsPosition.ui:142 msgid "Right" msgstr "Vpravo" -#: prefs.js:321 ui/BoxWindowPreviewOptions.ui.h:38 ui/SettingsPosition.ui.h:11 -#: ui/SettingsStyle.ui.h:10 +#: prefs.js:341 ui/SettingsStyle.ui:210 ui/SettingsPosition.ui:124 +#: ui/BoxWindowPreviewOptions.ui:334 msgid "Top" msgstr "Hore" -#: prefs.js:322 prefs.js:327 ui/SettingsPosition.ui.h:21 +#: prefs.js:342 prefs.js:347 ui/SettingsPosition.ui:198 msgid "Middle" msgstr "V strede" -#: prefs.js:323 ui/BoxWindowPreviewOptions.ui.h:37 ui/SettingsPosition.ui.h:10 -#: ui/SettingsStyle.ui.h:9 +#: prefs.js:343 ui/SettingsStyle.ui:202 ui/SettingsPosition.ui:115 +#: ui/BoxWindowPreviewOptions.ui:325 msgid "Bottom" msgstr "Dole" -#: prefs.js:326 ui/SettingsPosition.ui.h:20 +#. Setting for a mix of horizontal and vertical panels on different monitors. +#: prefs.js:346 ui/SettingsPosition.ui:197 msgid "Start" msgstr "Začiatok" -#: prefs.js:328 ui/SettingsPosition.ui.h:22 +#: prefs.js:348 ui/SettingsPosition.ui:199 msgid "End" msgstr "Koniec" -#: prefs.js:413 +#: prefs.js:473 msgid "Show Applications button" msgstr "Tlačidlo aplikácií" -#: prefs.js:414 +#: prefs.js:474 msgid "Activities button" msgstr "Tlačidlo aktivít" -#: prefs.js:415 +#: prefs.js:475 msgid "Taskbar" msgstr "Zoznam úloh" -#: prefs.js:416 +#: prefs.js:476 msgid "Date menu" msgstr "Ponuka dátumu" -#: prefs.js:417 +#: prefs.js:477 msgid "System menu" msgstr "Ponuka systému" -#: prefs.js:418 +#: prefs.js:478 msgid "Left box" msgstr "Ľavý blok" -#: prefs.js:419 +#: prefs.js:479 msgid "Center box" msgstr "Prostredný blok" -#: prefs.js:420 +#: prefs.js:480 msgid "Right box" msgstr "Pravý blok" -#: prefs.js:421 +#: prefs.js:481 msgid "Desktop button" msgstr "Tlačidlo plochy" -#: prefs.js:427 +#: prefs.js:491 prefs.js:3015 msgid "Move up" msgstr "Presunúť hore" -#: prefs.js:429 +#: prefs.js:493 prefs.js:3023 msgid "Move down" msgstr "Presunúť dole" -#: prefs.js:431 +#: prefs.js:499 msgid "Visible" -msgstr "Viditeľný" +msgstr "Viditeľné" -#: prefs.js:432 +#: prefs.js:503 msgid "Select element position" msgstr "Vyberte umiestnenie prvku" -#: prefs.js:443 +#: prefs.js:517 msgid "Stacked to top" msgstr "Hore" -#: prefs.js:443 +#: prefs.js:517 msgid "Stacked to left" msgstr "Vľavo" -#: prefs.js:444 +#: prefs.js:521 msgid "Stacked to bottom" msgstr "Dole" -#: prefs.js:444 +#: prefs.js:521 msgid "Stacked to right" msgstr "Vpravo" -#: prefs.js:445 +#: prefs.js:523 msgid "Centered" msgstr "Na stred" -#: prefs.js:446 +#: prefs.js:524 msgid "Monitor Center" msgstr "Stred monitora" -#: prefs.js:465 +#: prefs.js:551 msgid "More options" msgstr "Viac možností" -#: prefs.js:497 +#. GTK+ leaves positive values for application-defined response ids. +#. Use +1 for the reset action +#: prefs.js:586 msgid "Reset to defaults" msgstr "Nastaviť na predvolené" -#: prefs.js:520 +#: prefs.js:609 msgid "Show Applications options" msgstr "Zobraziť ikonu aplikácií" -#: prefs.js:530 +#: prefs.js:670 msgid "Open icon" msgstr "Otvoriť ikonu" -#: prefs.js:577 +#: prefs.js:688 msgid "Show Desktop options" msgstr "Nastavenia tlačidla zobrazenia plochy" -#: prefs.js:661 +#: prefs.js:780 +msgid "Primary monitor" +msgstr "Primárny monitor" + +#: prefs.js:781 +msgid "Monitor " +msgstr "Monitor " + +#: prefs.js:910 +msgid "Running Indicator Options" +msgstr "Možnosti indikátora činnosti" + +#: prefs.js:1446 +msgid "Dynamic opacity options" +msgstr "Voľby dynamickej priehľadnosti" + +#: prefs.js:1870 +msgid "Intellihide options" +msgstr "Nastavenie inteligentného skrývania (Intellihide)" + +#: prefs.js:2110 +msgid "Window preview options" +msgstr "Nastavenia náhľadu okien" + +#: prefs.js:2590 +msgid "Isolate Workspaces options" +msgstr "Možnosti izolovaných pracovných priestorov" + +#: prefs.js:2694 +msgid "Ungrouped application options" +msgstr "Nastavenia nezoskupených aplikácií" + +#: prefs.js:2861 +msgid "Customize middle-click behavior" +msgstr "Správanie prostredného tlačidla myši" + +#: prefs.js:2990 +msgid "Text" +msgstr "Text" + +#: prefs.js:2999 +msgid "Command" +msgstr "Príkaz" + +#: prefs.js:3031 +msgid "Remove" +msgstr "Odstrániť" + +#: prefs.js:3059 +msgid "Customize panel scroll behavior" +msgstr "Správanie prostredného tlačidla myši nad panelom" + +#: prefs.js:3105 +msgid "Customize icon scroll behavior" +msgstr "Upraviť správanie prostredného tlačidla myši" + +#: prefs.js:3229 +msgid "Advanced hotkeys options" +msgstr "Nastavenie ďalších klávesových skratiek" + +#: prefs.js:3257 +msgid "Secondary Menu Options" +msgstr "Možnosti sekundárnej ponuky" + +#: prefs.js:3457 #, javascript-format msgid "%d ms" msgstr "%d ms" -#: prefs.js:666 +#: prefs.js:3463 #, javascript-format msgid "%d °" msgstr "%d °" -#: prefs.js:671 prefs.js:676 +#: prefs.js:3469 prefs.js:3475 #, javascript-format msgid "%d %%" msgstr "%d %%" -#: prefs.js:681 +#: prefs.js:3481 #, javascript-format msgid "%.1f" msgstr "%.1f" -#: prefs.js:686 +#: prefs.js:3487 #, javascript-format msgid "%d icon" msgid_plural "%d icons" @@ -189,322 +309,172 @@ msgstr[0] "%d ikona" msgstr[1] "%d ikony" msgstr[2] "%d ikon" -#: prefs.js:782 -msgid "Running Indicator Options" -msgstr "Možnosti indikátora činnosti" - -#: prefs.js:928 -msgid "Primary monitor" -msgstr "Primárny monitor" - -#: prefs.js:928 -msgid "Monitor " -msgstr "Monitor " - -#: prefs.js:1122 -msgid "Dynamic opacity options" -msgstr "Voľby dynamickej priehľadnosti" - -#: prefs.js:1255 -msgid "Intellihide options" -msgstr "Nastavenie inteligentného skrývania (Intellihide)" - -#: prefs.js:1366 -msgid "Window preview options" -msgstr "Nastavenia náhľadu okien" - -#: prefs.js:1642 -msgid "Ungrouped application options" -msgstr "Nastavenia nezoskupených aplikácií" - -#: prefs.js:1721 -msgid "Customize middle-click behavior" -msgstr "Správanie prostredného tlačidla myši" - -#: prefs.js:1771 -msgid "Customize panel scroll behavior" -msgstr "Správanie prostredného tlačidla myši nad panelom" - -#: prefs.js:1799 -msgid "Customize icon scroll behavior" -msgstr "Upraviť správanie prostredného tlačidla myši" - -#: prefs.js:1880 -msgid "Advanced hotkeys options" -msgstr "Nastavenie ďalších klávesových skratiek" - -#: prefs.js:1898 -msgid "Secondary Menu Options" -msgstr "Možnosti sekundárnej ponuky" - -#: prefs.js:1924 ui/SettingsFineTune.ui.h:22 -msgid "Advanced Options" -msgstr "Pokročilé nastavenia" - -#: prefs.js:2040 +#: prefs.js:3614 msgid "App icon animation options" msgstr "Možnosti animácie ikony aplikácie" -#: prefs.js:2088 +#: prefs.js:3737 +msgid "App icon highlight options" +msgstr "Možnosti zvýraznenia ikony aplikácie" + +#: prefs.js:3826 msgid "Export settings" msgstr "Exportovať nastavenia" -#: prefs.js:2104 +#: prefs.js:3848 msgid "Import settings" msgstr "Importovať nastavenia" -#: appIcons.js:1503 appIcons.js:1513 appIcons.js:1515 -#: ui/BoxMiddleClickOptions.ui.h:10 -msgid "Quit" -msgstr "Ukončiť" +#: windowPreview.js:1155 +msgid "Move to current Workspace" +msgstr "Presunúť do aktuálneho pracovného priestoru" -#: appIcons.js:1515 -msgid "Windows" -msgstr "Okná" +#: panel.js:228 +msgid "Top Bar" +msgstr "Horný panel" -#: appIcons.js:1786 -msgid "Power options" -msgstr "Možnosti napájania" +#: extension.js:91 +msgid "Dash to Panel has been updated!" +msgstr "Dash to Panel bol aktualizovaný!" -#: appIcons.js:1791 -msgid "Event logs" -msgstr "Udalosti" +#: extension.js:92 +msgid "You are now running version" +msgstr "Teraz používate verziu" -#: appIcons.js:1796 -msgid "System" -msgstr "Systém" +#: extension.js:98 +msgid "See what's new" +msgstr "Pozrite sa, čo je nové" -#: appIcons.js:1801 -msgid "Device Management" -msgstr "Správa zariadení" +#: ui/SettingsFineTune.ui:38 +msgid "Fine-Tune" +msgstr "Jemné doladenia" -#: appIcons.js:1806 -msgid "Disk Management" -msgstr "Správa diskov" +#: ui/SettingsFineTune.ui:41 +msgid "Font size" +msgstr "Veľkosť písma" -#: appIcons.js:1819 -msgid "Terminal" -msgstr "Terminál" +#: ui/SettingsFineTune.ui:44 ui/SettingsFineTune.ui:60 +msgid "(0 = theme default)" +msgstr "(0 = predvolené témou)" -#: appIcons.js:1824 -msgid "System Monitor" -msgstr "Sledovanie systému" +#: ui/SettingsFineTune.ui:45 +msgid "Tray Font Size" +msgstr "Veľkosť písma v systémovom paneli" -#: appIcons.js:1829 -msgid "Files" -msgstr "Súbory" +#: ui/SettingsFineTune.ui:61 +msgid "LeftBox Font Size" +msgstr "Veľkosť písma ľavého bloku" -#: appIcons.js:1834 -msgid "Extensions" -msgstr "Rozšírenia" +#: ui/SettingsFineTune.ui:78 +msgid "Padding" +msgstr "Odsadenie" -#: appIcons.js:1839 -msgid "Settings" -msgstr "Nastavenia" +#: ui/SettingsFineTune.ui:81 ui/SettingsFineTune.ui:97 +#: ui/SettingsFineTune.ui:113 +msgid "(-1 = theme default)" +msgstr "(-1 = predvolené témou)" -#: appIcons.js:1850 -msgid "Unlock taskbar" -msgstr "Odomknúť panel úloh" +#: ui/SettingsFineTune.ui:82 +msgid "Tray Item Padding" +msgstr "Odsadenie položky v systémovom paneli" -#: appIcons.js:1850 -msgid "Lock taskbar" -msgstr "Zamknúť panel úloh" +#: ui/SettingsFineTune.ui:98 +msgid "Status Icon Padding" +msgstr "Odsadenie stavových ikon" -#: appIcons.js:1855 -msgid "Taskbar Settings" -msgstr "Nastavenia panela úloh" +#: ui/SettingsFineTune.ui:114 +msgid "LeftBox Padding" +msgstr "Odsadenie ľavého bloku" -#: appIcons.js:1860 -msgid "Restore Windows" -msgstr "Obnoviť okná" +#: ui/SettingsFineTune.ui:131 +msgid "Animate" +msgstr "Animovať" -#: appIcons.js:1860 -msgid "Show Desktop" -msgstr "Zobraziť plochu" +#: ui/SettingsFineTune.ui:134 +msgid "Animate switching applications" +msgstr "Animovať prepínanie okien" -#: ui/BoxAdvancedOptions.ui.h:1 -msgid "Nothing yet!" -msgstr "Zatiaľ nedostupné!" +#: ui/SettingsFineTune.ui:144 +msgid "Animate launching new windows" +msgstr "Animovať vytváranie nových okien" -#: ui/BoxAdvancedOptions.ui.h:2 -msgid "For real..." -msgstr "Naozaj..." +#: ui/SettingsFineTune.ui:156 +msgid "Gnome functionality" +msgstr "Funkcie Gnome" -#: ui/BoxAnimateAppIconHoverOptions.ui.h:1 -msgid "Animation type" -msgstr "Typ animácie" +#: ui/SettingsFineTune.ui:159 +msgid "(overview)" +msgstr "(prehľad)" -#: ui/BoxAnimateAppIconHoverOptions.ui.h:2 -msgid "Simple" -msgstr "Jednoduchá" +#: ui/SettingsFineTune.ui:160 +msgid "Keep original gnome-shell dash" +msgstr "Ponechať pôvodný gnome-shell dash" -#: ui/BoxAnimateAppIconHoverOptions.ui.h:3 -msgid "Ripple" -msgstr "Vlnenie" +#: ui/SettingsFineTune.ui:170 +msgid "Keep original gnome-shell top panel" +msgstr "Ponechať pôvodný horný panel gnome-shell" -#: ui/BoxAnimateAppIconHoverOptions.ui.h:4 -msgid "Plank" -msgstr "Doska" +#: ui/SettingsFineTune.ui:180 +msgid "(e.g. date menu)" +msgstr "(napr. ponuka s dátumom)" -#: ui/BoxAnimateAppIconHoverOptions.ui.h:5 -msgid "Duration" -msgstr "Trvanie" +#: ui/SettingsFineTune.ui:181 +msgid "Activate panel menu buttons on click only" +msgstr "Aktivovať tlačidlá ponuky na paneli iba pri kliknutí" -#: ui/BoxAnimateAppIconHoverOptions.ui.h:6 -msgid "Rotation" -msgstr "Otáčanie" +#: ui/SettingsFineTune.ui:191 +msgid "Force Activities hot corner on primary monitor" +msgstr "Vynútiť aktívny roh na primárnom monitore" -#: ui/BoxAnimateAppIconHoverOptions.ui.h:7 -msgid "Travel" -msgstr "Cestovanie" - -#: ui/BoxAnimateAppIconHoverOptions.ui.h:8 -msgid "Zoom" -msgstr "Priblíženie" - -#: ui/BoxAnimateAppIconHoverOptions.ui.h:9 -msgid "Convexity" -msgstr "Vypuklosť" - -#: ui/BoxAnimateAppIconHoverOptions.ui.h:10 -msgid "Extent" -msgstr "Rozsah" - -#: ui/BoxDotOptions.ui.h:1 -msgid "Highlight focused application" -msgstr "Zvýrazniť aplikáciu na popredí" - -#: ui/BoxDotOptions.ui.h:2 -msgid "Icon dominant color" -msgstr "Hlavná farba ikony" - -#: ui/BoxDotOptions.ui.h:3 -msgid "Custom color" -msgstr "Vlastná farba" - -#: ui/BoxDotOptions.ui.h:4 -msgid "Highlight opacity" -msgstr "Priehľadnosť zvýraznenia" - -#: ui/BoxDotOptions.ui.h:5 -msgid "Indicator size (px)" -msgstr "Veľkosť indikátora (px)" - -#: ui/BoxDotOptions.ui.h:6 -msgid "Indicator color - Icon Dominant" -msgstr "Hlavná farba ikony - ignorovať nastavenie vzhľadu" - -#: ui/BoxDotOptions.ui.h:7 -msgid "Indicator color - Override Theme" -msgstr "Farba indikátorá - ignorovať nastavenie vzhľadu" - -#: ui/BoxDotOptions.ui.h:8 -msgid "1 window open (or ungrouped)" -msgstr "1 otvorené okno (alebo nezoskupené)" - -#: ui/BoxDotOptions.ui.h:9 -msgid "Apply to all" -msgstr "Nastaviť pre všetky" - -#: ui/BoxDotOptions.ui.h:10 -msgid "2 windows open" -msgstr "2 otvorené okná" - -#: ui/BoxDotOptions.ui.h:11 -msgid "3 windows open" -msgstr "3 otvorené okná" - -#: ui/BoxDotOptions.ui.h:12 -msgid "4+ windows open" -msgstr "4 a viac otvorených okien" - -#: ui/BoxDotOptions.ui.h:13 -msgid "Use different for unfocused" -msgstr "Použiť inú pre okná na pozadí" - -#: ui/BoxDynamicOpacityOptions.ui.h:1 -msgid "The panel background opacity is affected by" -msgstr "Nastavenie priehľadnosti panela je ovplyvnené" - -#: ui/BoxDynamicOpacityOptions.ui.h:2 ui/BoxIntellihideOptions.ui.h:3 -msgid "All windows" -msgstr "Všetky okná" - -#: ui/BoxDynamicOpacityOptions.ui.h:3 ui/BoxIntellihideOptions.ui.h:4 -msgid "Focused windows" -msgstr "Okna v popredí" - -#: ui/BoxDynamicOpacityOptions.ui.h:4 ui/BoxIntellihideOptions.ui.h:5 -msgid "Maximized windows" -msgstr "Maximalizované okna" - -#: ui/BoxDynamicOpacityOptions.ui.h:5 -msgid "Change opacity when a window gets closer than (px)" -msgstr "Zmeniť priehľadnosť pri priblížení okna (px)" - -#: ui/BoxDynamicOpacityOptions.ui.h:7 -#, no-c-format -msgid "Change opacity to (%)" -msgstr "Zmeniť priehľadnosť na (%)" - -#: ui/BoxDynamicOpacityOptions.ui.h:8 ui/BoxShowApplicationsOptions.ui.h:3 -#: ui/BoxWindowPreviewOptions.ui.h:57 ui/SettingsStyle.ui.h:27 -msgid "0" -msgstr "0" - -#: ui/BoxDynamicOpacityOptions.ui.h:9 -msgid "Opacity change animation duration (ms)" -msgstr "Dĺžka animácie zmeny priehľadnosti (ms)" - -#: ui/BoxGroupAppsOptions.ui.h:1 +#: ui/BoxGroupAppsOptions.ui:32 msgid "Font size (px) of the application titles (default is 14)" -msgstr "Veľkosť písma (px) názvu aplikácie (predvolená: 14)" +msgstr "Veľkosť písma názvu aplikácie (predvolená je 14 px)" -#: ui/BoxGroupAppsOptions.ui.h:2 +#: ui/BoxGroupAppsOptions.ui:47 msgid "Font weight of application titles" -msgstr "Veľkosť písma názvu aplikácie" +msgstr "Hrúbka písma názvov aplikácií" -#: ui/BoxGroupAppsOptions.ui.h:3 ui/BoxWindowPreviewOptions.ui.h:44 +#: ui/BoxGroupAppsOptions.ui:52 ui/BoxWindowPreviewOptions.ui:406 msgid "inherit from theme" -msgstr "zdediť z nastavenia motívu" +msgstr "zdediť z nastavenia témy" -#: ui/BoxGroupAppsOptions.ui.h:4 ui/BoxWindowPreviewOptions.ui.h:45 +#: ui/BoxGroupAppsOptions.ui:53 ui/BoxWindowPreviewOptions.ui:407 msgid "normal" msgstr "normálne" -#: ui/BoxGroupAppsOptions.ui.h:5 ui/BoxWindowPreviewOptions.ui.h:46 +#: ui/BoxGroupAppsOptions.ui:54 ui/BoxWindowPreviewOptions.ui:408 msgid "lighter" msgstr "tenšie" -#: ui/BoxGroupAppsOptions.ui.h:6 ui/BoxWindowPreviewOptions.ui.h:47 +#: ui/BoxGroupAppsOptions.ui:55 ui/BoxWindowPreviewOptions.ui:409 msgid "bold" msgstr "tučné" -#: ui/BoxGroupAppsOptions.ui.h:7 ui/BoxWindowPreviewOptions.ui.h:48 +#: ui/BoxGroupAppsOptions.ui:56 ui/BoxWindowPreviewOptions.ui:410 msgid "bolder" msgstr "tučnejšie" -#: ui/BoxGroupAppsOptions.ui.h:8 +#: ui/BoxGroupAppsOptions.ui:65 msgid "Font color of the application titles" msgstr "Farba písma názvu aplikácie" -#: ui/BoxGroupAppsOptions.ui.h:9 +#: ui/BoxGroupAppsOptions.ui:77 msgid "Font color of the minimized application titles" msgstr "Farba písma názvu minimalizovanej aplikácie" -#: ui/BoxGroupAppsOptions.ui.h:10 +#: ui/BoxGroupAppsOptions.ui:95 msgid "Maximum width (px) of the application titles" msgstr "Maximálna šírka (px) pre názov aplikácie" -#: ui/BoxGroupAppsOptions.ui.h:11 +#: ui/BoxGroupAppsOptions.ui:96 msgid "(default is 160)" msgstr "(predvolená je 160)" -#: ui/BoxGroupAppsOptions.ui.h:12 +#: ui/BoxGroupAppsOptions.ui:111 msgid "Use a fixed width for the application titles" msgstr "Použiť pevnú šírku pre názov aplikácie" -#: ui/BoxGroupAppsOptions.ui.h:13 +#: ui/BoxGroupAppsOptions.ui:112 msgid "" "The application titles all have the same width, even if their texts are " "shorter than the maximum width. The maximum width value is used as the fixed " @@ -513,572 +483,375 @@ msgstr "" "Názvy aplikácií majú rovnakú šírku aj keď je text kratší. Maximálna hodnota " "sa použije pre všetky aplikácie." -#: ui/BoxGroupAppsOptions.ui.h:14 +#: ui/BoxGroupAppsOptions.ui:129 msgid "Display running indicators on unfocused applications" -msgstr "Zobraziť indikátor aplikácií bežiacich na pozadí" +msgstr "Zobraziť indikátor aplikácií spustených na pozadí" -#: ui/BoxGroupAppsOptions.ui.h:15 +#: ui/BoxGroupAppsOptions.ui:140 msgid "Use the favorite icons as application launchers" msgstr "Použiť ikony obľúbených aplikácií ako spúšťače" -#: ui/BoxIntellihideOptions.ui.h:1 -msgid "Only hide the panel when it is obstructed by windows" -msgstr "Skryť panel len vtedy, keď je prekrytý oknami" - -#: ui/BoxIntellihideOptions.ui.h:2 -msgid "The panel hides from" -msgstr "Skrývanie panela pre" - -#: ui/BoxIntellihideOptions.ui.h:6 -msgid "Require pressure at the edge of the screen to reveal the panel" -msgstr "Zobrazenie panela vyžaduje podržanie myši pri okraji obrazovky" - -#: ui/BoxIntellihideOptions.ui.h:7 -msgid "Required pressure threshold (px)" -msgstr "Citlivosť okraja obrazovky pri držaní myši (px)" - -#: ui/BoxIntellihideOptions.ui.h:8 -msgid "Required pressure timeout (ms)" -msgstr "Doba držania myši (ms)" - -#: ui/BoxIntellihideOptions.ui.h:9 -msgid "Allow the panel to be revealed while in fullscreen mode" -msgstr "Povoliť zobrazenie panela v režime celej obrazovky" - -#: ui/BoxIntellihideOptions.ui.h:10 -msgid "Only hide secondary panels" -msgstr "Skryť iba sekundárne panely" - -#: ui/BoxIntellihideOptions.ui.h:11 -msgid "(requires multi-monitors option)" -msgstr "(vyžaduje možnosť viacerých monitorov)" - -#: ui/BoxIntellihideOptions.ui.h:12 -msgid "Keyboard shortcut to reveal and hold the panel" -msgstr "Klávesová skratka pro zobrazenie panela" - -#: ui/BoxIntellihideOptions.ui.h:13 ui/BoxOverlayShortcut.ui.h:12 -msgid "Syntax: , , , " -msgstr "Syntax: , , , " - -#: ui/BoxIntellihideOptions.ui.h:14 -msgid "e.g. i" -msgstr "napr. i" - -#: ui/BoxIntellihideOptions.ui.h:15 -msgid "Hide and reveal animation duration (ms)" -msgstr "Rýchlosť animácie zobrazenia/skrytia panela (ms)" - -#: ui/BoxIntellihideOptions.ui.h:16 -msgid "Delay before hiding the panel (ms)" -msgstr "Oneskorenie pred skrytím panela (ms)" - -#: ui/BoxIntellihideOptions.ui.h:17 -msgid "Delay before enabling intellihide on start (ms)" -msgstr "Oneskorenie pred skrytím pri štarte (ms)" - -#: ui/BoxMiddleClickOptions.ui.h:1 -msgid "Shift+Click action" -msgstr "Akcia pri Shift+Kliknutie" - -#: ui/BoxMiddleClickOptions.ui.h:2 -msgid "" -"When set to minimize, double clicking minimizes all the windows of the " -"application." -msgstr "" -"Ak je nastavená minimalizácia, dvojklik minimalizuje všetky okná aplikácie." - -#: ui/BoxMiddleClickOptions.ui.h:3 ui/SettingsAction.ui.h:8 -msgid "Raise windows" -msgstr "Presunúť okno do popredia" - -#: ui/BoxMiddleClickOptions.ui.h:4 -msgid "Minimize window" -msgstr "Minimalizovať okno" - -#: ui/BoxMiddleClickOptions.ui.h:5 ui/SettingsAction.ui.h:9 -msgid "Launch new instance" -msgstr "Spustiť nové okno aplikácie" - -#: ui/BoxMiddleClickOptions.ui.h:6 ui/SettingsAction.ui.h:4 -msgid "Cycle through windows" -msgstr "Prepínať okná" - -#: ui/BoxMiddleClickOptions.ui.h:7 ui/SettingsAction.ui.h:3 -msgid "Cycle windows + minimize" -msgstr "Prepínať okná + minimalizovať" - -#: ui/BoxMiddleClickOptions.ui.h:8 ui/SettingsAction.ui.h:5 -msgid "Toggle single / Preview multiple" -msgstr "Náhľad jeden/viacero" - -#: ui/BoxMiddleClickOptions.ui.h:9 ui/SettingsAction.ui.h:6 -msgid "Toggle single / Cycle multiple" -msgstr "Prepínanie jedného/viacerých" - -#: ui/BoxMiddleClickOptions.ui.h:11 -msgid "Middle-Click action" -msgstr "Prostredné tlačidlo myši" - -#: ui/BoxMiddleClickOptions.ui.h:12 -msgid "Behavior for Middle-Click." -msgstr "Správanie pri stlačení prostredného tlačidla." - -#: ui/BoxMiddleClickOptions.ui.h:13 -msgid "Shift+Middle-Click action" -msgstr "Akcia pri Shift + prostredné tlačidlo myši" - -#: ui/BoxMiddleClickOptions.ui.h:14 -msgid "Behavior for Shift+Middle-Click." -msgstr "Shift + prostredné tlačidlo myši." - -#: ui/BoxOverlayShortcut.ui.h:1 -msgid "Hotkeys prefix" -msgstr "Predpona klávesových skratiek" - -#: ui/BoxOverlayShortcut.ui.h:2 -msgid "Hotkeys will either be Super+Number or Super+Alt+Num" -msgstr "Skratky budú buď Super+číslo alebo Super+Alt+číslo" - -#: ui/BoxOverlayShortcut.ui.h:3 -msgid "Super" -msgstr "Super" - -#: ui/BoxOverlayShortcut.ui.h:4 -msgid "Super + Alt" -msgstr "Super + Alt" - -#: ui/BoxOverlayShortcut.ui.h:5 -msgid "Number overlay" -msgstr "Zobraziť číslo" - -#: ui/BoxOverlayShortcut.ui.h:6 -msgid "" -"Temporarily show the application numbers over the icons when using the " -"hotkeys." -msgstr "Dočasne zobraziť čísla aplikácií pri použití klávesových skratiek." - -#: ui/BoxOverlayShortcut.ui.h:7 -msgid "Never" -msgstr "Nikdy" - -#: ui/BoxOverlayShortcut.ui.h:8 -msgid "Show temporarily" -msgstr "Zobraziť dočasne" - -#: ui/BoxOverlayShortcut.ui.h:9 -msgid "Always visible" -msgstr "Vždy viditeľné" - -#: ui/BoxOverlayShortcut.ui.h:10 -msgid "Hide timeout (ms)" -msgstr "Skryť po (ms)" - -#: ui/BoxOverlayShortcut.ui.h:11 -msgid "Shortcut to show the overlay for 2 seconds" -msgstr "Skratka pre zobrazenie prehľadu na 2 sekundy" - -#: ui/BoxOverlayShortcut.ui.h:13 -msgid "e.g. q" -msgstr "napr. q" - -#: ui/BoxOverlayShortcut.ui.h:14 -msgid "Show window previews on hotkey" -msgstr "Zobraziť náhľad okna po aktivovaní skratky" - -#: ui/BoxOverlayShortcut.ui.h:15 -msgid "Show previews when the application have multiple instances" -msgstr "Zobraziť náhľady, ak ma aplikácia viacero otvorených okien" - -#: ui/BoxOverlayShortcut.ui.h:16 -msgid "Hotkeys are activated with" -msgstr "Aktivovať klávesové skratky pomocou" - -#: ui/BoxOverlayShortcut.ui.h:17 -msgid "Select which keyboard number keys are used to activate the hotkeys" -msgstr "Vyberte klávesy, ktoré sa použijú na aktiváciu klávesových skratiek" - -#: ui/BoxOverlayShortcut.ui.h:18 -msgid "Number row" -msgstr "Číslo riadka" - -#: ui/BoxOverlayShortcut.ui.h:19 -msgid "Numeric keypad" -msgstr "Numerická klávesnica" - -#: ui/BoxOverlayShortcut.ui.h:20 -msgid "Both" -msgstr "Obidva" - -#: ui/BoxScrollIconOptions.ui.h:1 ui/BoxScrollPanelOptions.ui.h:1 +#: ui/BoxScrollPanelOptions.ui:25 ui/BoxScrollIconOptions.ui:25 msgid "Delay between mouse scroll events (ms)" msgstr "Oneskorenie (ms) medzi udalosťami skrolovania" -#: ui/BoxScrollIconOptions.ui.h:2 ui/BoxScrollPanelOptions.ui.h:2 +#: ui/BoxScrollPanelOptions.ui:26 ui/BoxScrollIconOptions.ui:26 msgid "Use this value to limit the number of captured mouse scroll events." msgstr "Obmedziť počet udalostí skrolovania myši." -#: ui/BoxScrollPanelOptions.ui.h:3 +#: ui/BoxScrollPanelOptions.ui:42 msgid "Show popup when changing workspace" msgstr "Zobraziť upozornenie pri zmene pracovného priestoru" -#: ui/BoxScrollPanelOptions.ui.h:4 +#: ui/BoxScrollPanelOptions.ui:43 msgid "This affects workspace popup when scrolling on the panel only." msgstr "" "Toto ovplyvní upozornenie pracovného priestoru iba pri skrolovaní na paneli." -#: ui/BoxSecondaryMenuOptions.ui.h:1 -msgid "Integrate AppMenu items" -msgstr "Integrovať položky ponuky aplikácií" +#: ui/SettingsStyle.ui:73 +msgid "Style" +msgstr "Štýl" -#: ui/BoxSecondaryMenuOptions.ui.h:2 -msgid "Show Details menu item" -msgstr "Položka ponuky Zobraziť podrobnosti" +#: ui/SettingsStyle.ui:76 +msgid "Global style" +msgstr "Globálny štýl" -#: ui/BoxShowApplicationsOptions.ui.h:1 -msgid "Show Applications icon" -msgstr "Zobraziť ikonu aplikácií" +#: ui/SettingsStyle.ui:79 +msgid "Border radius" +msgstr "Polomer orámovania" -#: ui/BoxShowApplicationsOptions.ui.h:2 -msgid "Show Applications icon side padding (px)" -msgstr "Zobraziť ikony aplikácií s odsadením (px)" +#: ui/SettingsStyle.ui:96 +msgid "AppIcon style" +msgstr "Štýl ikony aplikácií" -#: ui/BoxShowApplicationsOptions.ui.h:4 -msgid "Override escape key and return to desktop" -msgstr "Zmeniť správanie klávesu Esc a vrátiť sa na plochu" +#: ui/SettingsStyle.ui:99 +msgid "(default is 8)" +msgstr "(predvolené je 8)" -#: ui/BoxShowDesktopOptions.ui.h:1 -msgid "Override Show Desktop line color" -msgstr "Prepísať farbu čiary tlačidla zobrazenia plochy" +#: ui/SettingsStyle.ui:100 +msgid "App Icon Margin" +msgstr "Rozostup ikon aplikácií" -#: ui/BoxShowDesktopOptions.ui.h:2 -msgid "Reveal the desktop when hovering the Show Desktop button" -msgstr "Zobraziť pracovnú plochu pri podržaní myši nad tlačidlom plochy" +#: ui/SettingsStyle.ui:115 +msgid "(default is 4)" +msgstr "(predvolené je 4)" -#: ui/BoxShowDesktopOptions.ui.h:3 -msgid "Delay before revealing the desktop (ms)" -msgstr "Oneskorenie pred zobrazením plochy (ms)" +#: ui/SettingsStyle.ui:116 +msgid "App Icon Padding" +msgstr "Odsadenie ikon aplikácií" -#: ui/BoxShowDesktopOptions.ui.h:4 -msgid "Fade duration (ms)" -msgstr "Skryť po (ms)" +#: ui/SettingsStyle.ui:131 +msgid "Animate hovering app icons" +msgstr "Animovať prepínanie medzi ikonami aplikácií" -#: ui/BoxWindowPreviewOptions.ui.h:1 -msgid "Time (ms) before showing" -msgstr "Čas (ms) pred zobrazením" +#: ui/SettingsStyle.ui:155 +msgid "Highlight hovering app icons" +msgstr "Zvýrazniť ikony aplikácií pri prechádzaní kurzorom" -#: ui/BoxWindowPreviewOptions.ui.h:2 -msgid "(400 is default)" -msgstr "(400 is predvolené)" +#: ui/SettingsStyle.ui:179 +msgid "Icon style" +msgstr "Štýl ikony" -#: ui/BoxWindowPreviewOptions.ui.h:3 -msgid "Time (ms) before hiding" -msgstr "Čas (ms) pred skrytím" +#: ui/SettingsStyle.ui:184 +msgid "Normal" +msgstr "Normálne" -#: ui/BoxWindowPreviewOptions.ui.h:4 -msgid "(100 is default)" -msgstr "(100 is predvolené)" +#: ui/SettingsStyle.ui:185 +msgid "Symbolic" +msgstr "Symbolické" -#: ui/BoxWindowPreviewOptions.ui.h:5 -msgid "Immediate on application icon click" -msgstr "Ihneď po kliknutí na ikonu aplikácie" +#: ui/SettingsStyle.ui:186 +msgid "Grayscale" +msgstr "Odtiene sivej" -#: ui/BoxWindowPreviewOptions.ui.h:6 -msgid "Animation time (ms)" -msgstr "Trvanie animácie (ms)" +#: ui/SettingsStyle.ui:196 +msgid "Running indicator" +msgstr "Indikátor činnosti" -#: ui/BoxWindowPreviewOptions.ui.h:7 -msgid "Middle click on the preview to close the window" -msgstr "Prostredné tlačidlo myši zavrie okno v režime náhľadu" +#: ui/SettingsStyle.ui:199 +msgid "Running indicator position" +msgstr "Pozícia indikátora činnosti" -#: ui/BoxWindowPreviewOptions.ui.h:8 -msgid "Window previews preferred size (px)" -msgstr "Veľkosť náhľadu okna (px)" +#: ui/SettingsStyle.ui:235 +msgid "Running indicator style (Focused app)" +msgstr "Štýl indikátora spustenej aplikácie (v popredí)" -#: ui/BoxWindowPreviewOptions.ui.h:9 -msgid "Window previews aspect ratio X (width)" -msgstr "Pomer strán náhľadu okna (šírka)" +#: ui/SettingsStyle.ui:253 ui/SettingsStyle.ui:272 +msgid "Dots" +msgstr "Bodky" -#: ui/BoxWindowPreviewOptions.ui.h:10 +#: ui/SettingsStyle.ui:254 ui/SettingsStyle.ui:273 +msgid "Squares" +msgstr "Štvorce" + +#: ui/SettingsStyle.ui:255 ui/SettingsStyle.ui:274 +msgid "Dashes" +msgstr "Čiarky" + +#: ui/SettingsStyle.ui:256 ui/SettingsStyle.ui:275 +msgid "Segmented" +msgstr "Segmentovaný" + +#: ui/SettingsStyle.ui:257 ui/SettingsStyle.ui:276 +msgid "Solid" +msgstr "Pevný" + +#: ui/SettingsStyle.ui:258 ui/SettingsStyle.ui:277 +msgid "Ciliora" +msgstr "Ciliora" + +#: ui/SettingsStyle.ui:259 ui/SettingsStyle.ui:278 +msgid "Metro" +msgstr "Metro" + +#: ui/SettingsStyle.ui:267 +msgid "Running indicator style (Unfocused apps)" +msgstr "Štýl indikátora spustenej aplikácie (na pozadí)" + +#: ui/SettingsStyle.ui:288 +msgid "Panel style" +msgstr "Štýl panela" + +#: ui/SettingsStyle.ui:291 ui/SettingsStyle.ui:307 ui/SettingsStyle.ui:323 +#: ui/SettingsStyle.ui:339 +msgid "(default is 0)" +msgstr "(predvolená je 0)" + +#: ui/SettingsStyle.ui:292 +msgid "Side margins" +msgstr "Bočné okraje" + +#: ui/SettingsStyle.ui:308 +msgid "Top and bottom margins" +msgstr "Horné a dolné okraje" + +#: ui/SettingsStyle.ui:324 +msgid "Side padding" +msgstr "Bočné odsadenie" + +#: ui/SettingsStyle.ui:340 +msgid "Top and bottom padding" +msgstr "Horné a dolné odsadenie" + +#: ui/SettingsStyle.ui:359 +msgid "Override panel theme background color" +msgstr "Prepísať farbu pozadia témy panela" + +#: ui/SettingsStyle.ui:374 +msgid "Override panel theme background opacity" +msgstr "Prepísať nepriehľadnosť pozadia témy panela" + +#: ui/SettingsStyle.ui:384 +msgid "Panel background opacity (%)" +msgstr "Priehľadnosť panela (%)" + +#: ui/SettingsStyle.ui:388 ui/SettingsStyle.ui:445 ui/SettingsStyle.ui:463 +#: ui/BoxShowApplicationsOptions.ui:64 ui/BoxWindowPreviewOptions.ui:472 +#: ui/BoxDynamicOpacityOptions.ui:72 +msgid "0" +msgstr "0" + +#: ui/SettingsStyle.ui:396 +msgid "Change opacity when a window gets close to the panel" +msgstr "Zmeniť priehľadnosť pri priblížení okna" + +#: ui/SettingsStyle.ui:397 +msgid "Dynamic background opacity" +msgstr "Dynamická priehľadnosť" + +#: ui/SettingsStyle.ui:425 +msgid "Override panel theme gradient" +msgstr "Prepísať gradient témy panela" + +#: ui/SettingsStyle.ui:435 +msgid "Gradient top color and opacity (%)" +msgstr "Horná farba farebného prechodu a priehľadnosť (%)" + +#: ui/SettingsStyle.ui:453 +msgid "Gradient bottom color and opacity (%)" +msgstr "Spodná farba farebného prechodu a priehľadnosť (%)" + +#: ui/SettingsStyle.ui:477 +msgid "Panel border" +msgstr "Orámovanie panela" + +#: ui/SettingsStyle.ui:487 +msgid "Override border color" +msgstr "Prepísať farbu orámovania" + +#: ui/SettingsStyle.ui:504 +msgid "Border thickness" +msgstr "Hrúbka orámovania" + +#: ui/SettingsStyle.ui:508 ui/BoxWindowPreviewOptions.ui:197 +#: ui/BoxWindowPreviewOptions.ui:238 msgid "1" msgstr "1" -#: ui/BoxWindowPreviewOptions.ui.h:11 -msgid "2" -msgstr "2" +#: ui/SettingsPosition.ui:19 +msgid "Position" +msgstr "Umiestnenie" -#: ui/BoxWindowPreviewOptions.ui.h:12 -msgid "3" -msgstr "3" +#: ui/SettingsPosition.ui:22 +msgid "Panel" +msgstr "Panel" -#: ui/BoxWindowPreviewOptions.ui.h:13 -msgid "4" -msgstr "4" +#: ui/SettingsPosition.ui:25 +msgid "Display the main panel on" +msgstr "Hlavný panel zobraziť na" -#: ui/BoxWindowPreviewOptions.ui.h:14 -msgid "5" -msgstr "5" +#: ui/SettingsPosition.ui:35 +msgid "Display panels on all monitors" +msgstr "Zobraziť panel na všetkých monitoroch" -#: ui/BoxWindowPreviewOptions.ui.h:15 -msgid "6" -msgstr "6" +#: ui/SettingsPosition.ui:49 +msgid "Hide and reveal the panel according to preferences" +msgstr "Zobraziť/skryť panel podľa nastavení" -#: ui/BoxWindowPreviewOptions.ui.h:16 -msgid "7" -msgstr "7" +#: ui/SettingsPosition.ui:50 +msgid "Panel Intellihide" +msgstr "Inteligentné skrývanie (Intellihide)" -#: ui/BoxWindowPreviewOptions.ui.h:17 -msgid "8" -msgstr "8" +#: ui/SettingsPosition.ui:76 +msgid "Order and Position on monitors" +msgstr "Poradie a pozícia na monitoroch" -#: ui/BoxWindowPreviewOptions.ui.h:18 -msgid "9" -msgstr "9" +#: ui/SettingsPosition.ui:79 +msgid "Monitor" +msgstr "Monitor" -#: ui/BoxWindowPreviewOptions.ui.h:19 -msgid "10" -msgstr "10" +#: ui/SettingsPosition.ui:90 +msgid "Apply changes to all monitors" +msgstr "Použiť zmeny na všetkých monitoroch" -#: ui/BoxWindowPreviewOptions.ui.h:20 -msgid "11" -msgstr "11" +#: ui/SettingsPosition.ui:111 +msgid "Panel monitor position" +msgstr "Poloha panela na obrazovke" -#: ui/BoxWindowPreviewOptions.ui.h:21 -msgid "12" -msgstr "12" +#: ui/SettingsPosition.ui:152 +msgid "(default is 48)" +msgstr "(predvolená je 48)" -#: ui/BoxWindowPreviewOptions.ui.h:22 -msgid "13" -msgstr "13" +#: ui/SettingsPosition.ui:153 +msgid "Panel thickness" +msgstr "Šírka panela" -#: ui/BoxWindowPreviewOptions.ui.h:23 -msgid "14" -msgstr "14" +#: ui/SettingsPosition.ui:168 +msgid "(default is 100)" +msgstr "(predvolená je 100)" -#: ui/BoxWindowPreviewOptions.ui.h:24 -msgid "15" -msgstr "15" +#: ui/SettingsPosition.ui:169 +msgid "Panel length" +msgstr "Dĺžka panela" -#: ui/BoxWindowPreviewOptions.ui.h:25 -msgid "16" -msgstr "16" +#: ui/SettingsPosition.ui:174 +msgid "Dynamic" +msgstr "Dynamická" -#: ui/BoxWindowPreviewOptions.ui.h:26 -msgid "17" -msgstr "17" +#: ui/SettingsPosition.ui:192 +msgid "Anchor" +msgstr "Ukotvenie" -#: ui/BoxWindowPreviewOptions.ui.h:27 -msgid "18" -msgstr "18" +#: ui/SettingsPosition.ui:211 +msgid "Taskbar Display" +msgstr "Zobrazenie panela úloh" -#: ui/BoxWindowPreviewOptions.ui.h:28 -msgid "19" -msgstr "19" +#: ui/SettingsAction.ui:8 +msgid "Action" +msgstr "Akcie" -#: ui/BoxWindowPreviewOptions.ui.h:29 -msgid "20" -msgstr "20" - -#: ui/BoxWindowPreviewOptions.ui.h:30 -msgid "21" -msgstr "21" - -#: ui/BoxWindowPreviewOptions.ui.h:31 -msgid "Fixed" -msgstr "Pevný" - -#: ui/BoxWindowPreviewOptions.ui.h:32 -msgid "Window previews aspect ratio Y (height)" -msgstr "Pomer strán náhľadu okna (výška)" - -#: ui/BoxWindowPreviewOptions.ui.h:33 -msgid "Window previews padding (px)" -msgstr "Okraje náhľadu okien (px)" - -#: ui/BoxWindowPreviewOptions.ui.h:34 -msgid "Use custom opacity for the previews background" -msgstr "Použiť vlastné nastavenie priehľadnosti náhľadov" - -#: ui/BoxWindowPreviewOptions.ui.h:35 -msgid "" -"If disabled, the previews background have the same opacity as the panel." -msgstr "" -"Ak je vypnuté, pozadie náhľadov bude mať rovnakú nepriehľadnosť ako panel." - -#: ui/BoxWindowPreviewOptions.ui.h:36 -msgid "Close button and header position" -msgstr "Pozícia záhlavia a tlačidla na zavretie" - -#: ui/BoxWindowPreviewOptions.ui.h:39 -msgid "Display window preview headers" -msgstr "Zobraziť názov okna v náhľadoch" - -#: ui/BoxWindowPreviewOptions.ui.h:40 -msgid "Icon size (px) of the window preview" -msgstr "Veľkosť náhľadu (px) aplikácie" - -#: ui/BoxWindowPreviewOptions.ui.h:41 -msgid "If disabled, the previews icon size will be based on headerbar size" -msgstr "Ak je vypnuté, veľkosť náhľadu bude závisieť ť od veľkosti záhlavia" - -#: ui/BoxWindowPreviewOptions.ui.h:42 -msgid "Font size (px) of the preview titles" -msgstr "Veľkosť písma (px) názvu aplikácie" - -#: ui/BoxWindowPreviewOptions.ui.h:43 -msgid "Font weight of the preview titles" -msgstr "Veľkosť písma názvu aplikácie" - -#: ui/BoxWindowPreviewOptions.ui.h:49 -msgid "Font color of the preview titles" -msgstr "Farba písma názvu aplikácie" - -#: ui/BoxWindowPreviewOptions.ui.h:50 -msgid "Enable window peeking" -msgstr "Povoliť režim náhľadu okna" - -#: ui/BoxWindowPreviewOptions.ui.h:51 -msgid "" -"When hovering over a window preview for some time, the window gets " -"distinguished." -msgstr "Rozlíšiť okná pri podržaní myši nad tlačidlom náhľadu." - -#: ui/BoxWindowPreviewOptions.ui.h:52 -msgid "Enter window peeking mode timeout (ms)" -msgstr "Povoliť režim náhľadu okna po (ms)" - -#: ui/BoxWindowPreviewOptions.ui.h:53 -msgid "" -"Time of inactivity while hovering over a window preview needed to enter the " -"window peeking mode." -msgstr "" -"Čas nečinnosti nad ikonou potrebného na prepnutie do režimu náhľadu okna." - -#: ui/BoxWindowPreviewOptions.ui.h:54 -msgid "50" -msgstr "50" - -#: ui/BoxWindowPreviewOptions.ui.h:55 -msgid "Window peeking mode opacity" -msgstr "Priehľadnosť v režime náhľadu okna" - -#: ui/BoxWindowPreviewOptions.ui.h:56 -msgid "" -"All windows except for the peeked one have their opacity set to the same " -"value." -msgstr "Všetky okna, okrem aktívneho, majú rovnaké nastavenie priehľadnosti." - -#: ui/SettingsAbout.ui.h:1 -msgid "Info" -msgstr "Informácie" - -#: ui/SettingsAbout.ui.h:2 -msgid "Version" -msgstr "Verzia" - -#: ui/SettingsAbout.ui.h:3 -msgid "Source" -msgstr "Zdroj" - -#: ui/SettingsAbout.ui.h:4 -msgid "GitHub" -msgstr "GitHub" - -#: ui/SettingsAbout.ui.h:5 -msgid "Export and Import" -msgstr "Export a import" - -#: ui/SettingsAbout.ui.h:6 -msgid "Export and import settings" -msgstr "Export a import nastavení" - -#: ui/SettingsAbout.ui.h:7 -msgid "" -"Use the buttons below to create a settings file from your current " -"preferences that can be imported on a different machine." -msgstr "" -"Pomocou tlačidiel nižšie exportujete vaše aktuálne nastavenia do súboru. " -"Tento súbor potom môžete importovať na inom počítači." - -#: ui/SettingsAbout.ui.h:8 -msgid "Export to file" -msgstr "Exportovať do súboru" - -#: ui/SettingsAbout.ui.h:9 -msgid "Import from file" -msgstr "Importovať zo súboru" - -#: ui/SettingsAbout.ui.h:10 -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 ponúkaný BEZ AKÝCHKOĽVEK ZÁRUK.\n" -"Prečítajte si GNU General Public License, verziu 2 alebo novšiu." - -#: ui/SettingsAction.ui.h:1 +#: ui/SettingsAction.ui:11 ui/SettingsAction.ui:15 msgid "Click action" msgstr "Akcia myši" -#: ui/SettingsAction.ui.h:2 +#: ui/SettingsAction.ui:14 msgid "Behaviour when clicking on the icon of a running application." -msgstr "Správanie pri kliknutí na ikonu bežiacej aplikácie." +msgstr "Správanie pri kliknutí na ikonu spustenej aplikácie." -#: ui/SettingsAction.ui.h:7 +#: ui/SettingsAction.ui:34 ui/BoxMiddleClickOptions.ui:29 +#: ui/BoxMiddleClickOptions.ui:58 ui/BoxMiddleClickOptions.ui:87 +msgid "Cycle windows + minimize" +msgstr "Prepínať okná + minimalizovať" + +#: ui/SettingsAction.ui:35 ui/BoxMiddleClickOptions.ui:28 +#: ui/BoxMiddleClickOptions.ui:57 ui/BoxMiddleClickOptions.ui:86 +msgid "Cycle through windows" +msgstr "Prepínať okná" + +#: ui/SettingsAction.ui:36 ui/BoxMiddleClickOptions.ui:30 +#: ui/BoxMiddleClickOptions.ui:59 ui/BoxMiddleClickOptions.ui:88 +msgid "Toggle single / Preview multiple" +msgstr "Náhľad jeden/viacero" + +#: ui/SettingsAction.ui:37 ui/BoxMiddleClickOptions.ui:31 +#: ui/BoxMiddleClickOptions.ui:60 ui/BoxMiddleClickOptions.ui:89 +msgid "Toggle single / Cycle multiple" +msgstr "Prepínanie jedného/viacerých" + +#: ui/SettingsAction.ui:38 ui/BoxMiddleClickOptions.ui:32 +#: ui/BoxMiddleClickOptions.ui:61 ui/BoxMiddleClickOptions.ui:90 +msgid "Toggle single / Spread multiple" +msgstr "Prepnúť na jeden / Rozložiť viacero" + +#: ui/SettingsAction.ui:39 msgid "Toggle windows" msgstr "Prepínanie okien" -#: ui/SettingsAction.ui.h:10 +#: ui/SettingsAction.ui:40 ui/BoxMiddleClickOptions.ui:25 +#: ui/BoxMiddleClickOptions.ui:54 ui/BoxMiddleClickOptions.ui:83 +msgid "Raise windows" +msgstr "Presunúť okno do popredia" + +#: ui/SettingsAction.ui:41 ui/BoxMiddleClickOptions.ui:27 +#: ui/BoxMiddleClickOptions.ui:56 ui/BoxMiddleClickOptions.ui:85 +msgid "Launch new instance" +msgstr "Spustiť nové okno aplikácie" + +#: ui/SettingsAction.ui:51 msgid "Scroll action" msgstr "Akcia kolieska myši" -#: ui/SettingsAction.ui.h:11 -msgid "Scroll panel action" -msgstr "Akcia kolieska myši na paneli" - -#: ui/SettingsAction.ui.h:12 +#: ui/SettingsAction.ui:54 msgid "Behavior when mouse scrolling over the panel." msgstr "Správanie prostredného tlačidla myši nad panelom." -#: ui/SettingsAction.ui.h:13 +#: ui/SettingsAction.ui:55 +msgid "Scroll panel action" +msgstr "Akcia kolieska myši na paneli" + +#: ui/SettingsAction.ui:79 ui/SettingsAction.ui:112 msgid "Do nothing" msgstr "Nerobiť nič" -#: ui/SettingsAction.ui.h:14 +#: ui/SettingsAction.ui:80 msgid "Switch workspace" msgstr "Prepnúť pracovný priestor" -#: ui/SettingsAction.ui.h:15 +#: ui/SettingsAction.ui:81 ui/SettingsAction.ui:113 msgid "Cycle windows" msgstr "Prepínať okná" -#: ui/SettingsAction.ui.h:16 +#: ui/SettingsAction.ui:82 msgid "Change volume" msgstr "Upraviť hlasitosť" -#: ui/SettingsAction.ui.h:17 +#: ui/SettingsAction.ui:90 +msgid "Behavior when mouse scrolling over an application icon." +msgstr "Správanie kolieska myši nad ikonu spustenej aplikácie." + +#: ui/SettingsAction.ui:91 msgid "Scroll icon action" msgstr "Akcia kolieska myši na ikone" -#: ui/SettingsAction.ui.h:18 -msgid "Behavior when mouse scrolling over an application icon." -msgstr "Správanie kolieska myši nad ikonu bežiacej aplikácie." - -#: ui/SettingsAction.ui.h:19 +#: ui/SettingsAction.ui:114 msgid "Same as panel" msgstr "Rovnaké ako panel" -#: ui/SettingsAction.ui.h:20 +#: ui/SettingsAction.ui:124 msgid "Hotkey overlay" msgstr "Klávesové skratky" -#: ui/SettingsAction.ui.h:21 -msgid "Use hotkeys to activate apps" -msgstr "Použiť klávesové skratky pre spúšťanie aplikácií" - -#: ui/SettingsAction.ui.h:22 +#: ui/SettingsAction.ui:127 msgid "" "Enable Super+(0-9) as shortcuts to activate apps. It can also be used " "together with Shift and Ctrl." @@ -1086,317 +859,754 @@ msgstr "" "Povoliť klávesové skratky Super+(0-9) pre spúšťanie aplikácií. Dajú sa " "použiť v kombinácií s Shift a Ctrl." -#: ui/SettingsBehavior.ui.h:1 -msgid "Applications" -msgstr "Aplikácie" +#: ui/SettingsAction.ui:128 +msgid "Use hotkeys to activate apps" +msgstr "Použiť klávesové skratky pre spúšťanie aplikácií" -#: ui/SettingsBehavior.ui.h:2 -msgid "Show favorite applications" -msgstr "Zobraziť obľúbené aplikácie" +#: ui/SettingsAction.ui:154 +msgid "Application icons context menu" +msgstr "Kontextové menu ikon aplikácií" -#: ui/SettingsBehavior.ui.h:3 -msgid "Show favorite applications on secondary panels" -msgstr "Zobraziť obľúbené aplikácie na sekundárnych paneloch" - -#: ui/SettingsBehavior.ui.h:4 -msgid "Show running applications" -msgstr "Zobraziť bežiace aplikácie" - -#: ui/SettingsBehavior.ui.h:5 -msgid "Show AppMenu button" -msgstr "Zobraziť tlačidlo ponuky aplikácií" - -#: ui/SettingsBehavior.ui.h:6 -msgid "Ungroup applications" -msgstr "Nezoskupené aplikácie" - -#: ui/SettingsBehavior.ui.h:7 -msgid "Show notification counter badge" -msgstr "Zobraziť znak počítadla oznámení" - -#: ui/SettingsBehavior.ui.h:8 -msgid "Show window previews on hover" -msgstr "Zobraziť náhľad okna pri podržaní myši" - -#: ui/SettingsBehavior.ui.h:9 -msgid "Show tooltip on hover" -msgstr "Zobraziť tip okna pri podržaní myši" - -#: ui/SettingsBehavior.ui.h:10 -msgid "Isolate" -msgstr "Oddeliť" - -#: ui/SettingsBehavior.ui.h:11 -msgid "Isolate Workspaces" -msgstr "Oddeliť pracovné priestory" - -#: ui/SettingsBehavior.ui.h:12 -msgid "Isolate monitors" -msgstr "Oddeliť monitory" - -#: ui/SettingsBehavior.ui.h:13 -msgid "Overview" -msgstr "Prehľad" - -#: ui/SettingsBehavior.ui.h:14 -msgid "Click empty space to close overview" -msgstr "Kliknutím do prázdneho priestoru zavrieť prehľad" - -#: ui/SettingsBehavior.ui.h:15 -msgid "Disable show overview on startup" -msgstr "Vypnúť zobrazenie prehľadu po štarte" - -#: ui/SettingsFineTune.ui.h:1 -msgid "Font size" -msgstr "Veľkosť písma" - -#: ui/SettingsFineTune.ui.h:2 -msgid "Tray Font Size" -msgstr "Veľkosť písma systémového bloku" - -#: ui/SettingsFineTune.ui.h:3 -msgid "(0 = theme default)" -msgstr "(0 = predvolené témou)" - -#: ui/SettingsFineTune.ui.h:4 -msgid "LeftBox Font Size" -msgstr "Veľkosť písma ľavého bloku" - -#: ui/SettingsFineTune.ui.h:5 -msgid "Padding" -msgstr "Odsadenie" - -#: ui/SettingsFineTune.ui.h:6 -msgid "Tray Item Padding" -msgstr "Odsadenie položky v systémovom bloku" - -#: ui/SettingsFineTune.ui.h:7 -msgid "(-1 = theme default)" -msgstr "(-1 = predvolené témou)" - -#: ui/SettingsFineTune.ui.h:8 -msgid "Status Icon Padding" -msgstr "Odsadenie stavových ikon" - -#: ui/SettingsFineTune.ui.h:9 -msgid "LeftBox Padding" -msgstr "Odsadenie ľavého bloku" - -#: ui/SettingsFineTune.ui.h:10 -msgid "Animate" -msgstr "Animovať" - -#: ui/SettingsFineTune.ui.h:11 -msgid "Animate switching applications" -msgstr "Animovať prepínanie okien" - -#: ui/SettingsFineTune.ui.h:12 -msgid "Animate launching new windows" -msgstr "Animovať vytváranie nových okien" - -#: ui/SettingsFineTune.ui.h:13 -msgid "Gnome functionality" -msgstr "Funkcionalita Gnome" - -#: ui/SettingsFineTune.ui.h:14 -msgid "Keep original gnome-shell dash" -msgstr "Ponechať pôvodný gnome-shell dash" - -#: ui/SettingsFineTune.ui.h:15 -msgid "(overview)" -msgstr "(prehľad)" - -#: ui/SettingsFineTune.ui.h:16 -msgid "Keep original gnome-shell top panel" -msgstr "Ponechať pôvodný horný panel gnome-shell" - -#: ui/SettingsFineTune.ui.h:17 -msgid "Activate panel menu buttons on click only" -msgstr "Aktivovať tlačidlá ponuky na paneli iba pri kliknutí" - -#: ui/SettingsFineTune.ui.h:18 -msgid "(e.g. date menu)" -msgstr "(napr. ponuka s dátumom)" - -#: ui/SettingsFineTune.ui.h:19 -msgid "Force Activities hot corner on primary monitor" -msgstr "Vynútiť aktívny roh na primárnom monitore" - -#: ui/SettingsFineTune.ui.h:20 -msgid "App icon secondary menu" -msgstr "Sekundárna ponuka ikony aplikácie" - -#: ui/SettingsFineTune.ui.h:21 +#: ui/SettingsAction.ui:157 msgid "(right-click menu)" msgstr "(ponuka pravého tlačidla myši)" -#: ui/SettingsPosition.ui.h:1 -msgid "Panel" -msgstr "Panel" +#: ui/SettingsAction.ui:158 +msgid "Secondary menu" +msgstr "Sekundárna ponuka" -#: ui/SettingsPosition.ui.h:2 -msgid "Display the main panel on" -msgstr "Hlavný panel zobraziť na" +#: ui/SettingsAction.ui:179 +msgid "Panel context menu entries" +msgstr "Položky kontextovej ponuky panela" -#: ui/SettingsPosition.ui.h:3 -msgid "Display panels on all monitors" -msgstr "Zobraziť panel na všetkých monitoroch" +#: ui/SettingsAction.ui:190 +msgid "Add entry" +msgstr "Pridať položku" -#: ui/SettingsPosition.ui.h:4 -msgid "Panel Intellihide" -msgstr "Inteligentné skrývanie (Intellihide)" +#: ui/BoxShowDesktopOptions.ui:53 +msgid "Override Show Desktop line color" +msgstr "Prepísať farbu čiary tlačidla zobrazenia plochy" -#: ui/SettingsPosition.ui.h:5 -msgid "Hide and reveal the panel according to preferences" -msgstr "Zobraziť/skryť panel podľa nastavení" +#: ui/BoxShowDesktopOptions.ui:77 +msgid "Reveal the desktop when hovering the Show Desktop button" +msgstr "Zobraziť pracovnú plochu pri podržaní myši nad tlačidlom plochy" -#: ui/SettingsPosition.ui.h:6 -msgid "Order and Position on monitors" -msgstr "Poradie a pozícia na monitoroch" +#: ui/BoxShowDesktopOptions.ui:90 +msgid "Delay before revealing the desktop (ms)" +msgstr "Oneskorenie pred zobrazením plochy (ms)" -#: ui/SettingsPosition.ui.h:7 -msgid "Monitor" -msgstr "Monitor" +#: ui/BoxShowDesktopOptions.ui:106 +msgid "Fade duration (ms)" +msgstr "Skryť po (ms)" -#: ui/SettingsPosition.ui.h:8 -msgid "Apply changes to all monitors" -msgstr "Použiť zmeny na všetkých monitoroch" +#: ui/SettingsAbout.ui:8 +msgid "About" +msgstr "O rozšírení" -#: ui/SettingsPosition.ui.h:9 -msgid "Panel screen position" -msgstr "Pozícia panela na obrazovke" +#: ui/SettingsAbout.ui:11 +msgid "Info" +msgstr "Informácie" -#: ui/SettingsPosition.ui.h:14 -msgid "Panel thickness" -msgstr "Šírka panela" +#: ui/SettingsAbout.ui:14 +msgid "Version" +msgstr "Verzia" -#: ui/SettingsPosition.ui.h:15 -msgid "(default is 48)" -msgstr "(predvolená je 48)" +#: ui/SettingsAbout.ui:22 +msgid "Source" +msgstr "Zdroj" -#: ui/SettingsPosition.ui.h:17 -#, no-c-format -msgid "Panel length (%)" -msgstr "Dĺžka panela (%)" +#: ui/SettingsAbout.ui:26 +msgid "GitHub" +msgstr "GitHub" -#: ui/SettingsPosition.ui.h:18 -msgid "(default is 100)" -msgstr "(predvolená je 100)" +#: ui/SettingsAbout.ui:37 +msgid "Export and Import" +msgstr "Export a import" -#: ui/SettingsPosition.ui.h:19 -msgid "Anchor" -msgstr "Ukotvenie" +#: ui/SettingsAbout.ui:40 +msgid "" +"Use the buttons below to create a settings file from your current " +"preferences that can be imported on a different machine." +msgstr "" +"Pomocou tlačidiel nižšie exportujete vaše aktuálne nastavenia do súboru. " +"Tento súbor potom môžete importovať na inom počítači." -#: ui/SettingsPosition.ui.h:23 -msgid "Taskbar Display" -msgstr "Zobrazenie panela úloh" +#: ui/SettingsAbout.ui:41 +msgid "Export and import settings" +msgstr "Export a import nastavení" -#: ui/SettingsStyle.ui.h:1 -msgid "AppIcon style" -msgstr "Štýl ikony aplikácií" +#: ui/SettingsAbout.ui:56 +msgid "Export to file" +msgstr "Exportovať do súboru" -#: ui/SettingsStyle.ui.h:2 -msgid "App Icon Margin" -msgstr "Rozostup ikon aplikácií" +#: ui/SettingsAbout.ui:62 +msgid "Import from file" +msgstr "Importovať zo súboru" -#: ui/SettingsStyle.ui.h:3 -msgid "(default is 8)" -msgstr "(predvolené je 8)" +#: ui/SettingsAbout.ui:77 +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 ponúkaný BEZ AKÝCHKOĽVEK ZÁRUK.\n" +"Prečítajte si GNU General Public License, verziu 2 alebo novšiu." -#: ui/SettingsStyle.ui.h:4 -msgid "App Icon Padding" -msgstr "Odsadenie ikon aplikácií" +#: ui/SettingsAbout.ui:96 +msgid "Sponsored and originally developed by" +msgstr "Sponzorované a pôvodne vyvinuté spoločnosťou" -#: ui/SettingsStyle.ui.h:5 -msgid "(default is 4)" -msgstr "(predvolené je 4)" +#: ui/BoxIsolateWorkspacesOptions.ui:22 +msgid "Isolate workspaces in gnome-shell Application Switcher" +msgstr "Izolovať pracovné priestory v prepínači aplikácií gnome-shell" -#: ui/SettingsStyle.ui.h:6 -msgid "Animate hovering app icons" -msgstr "Animovať prepínanie medzi ikonami aplikácií" +#: ui/BoxDotOptions.ui:37 +msgid "Highlight focused application" +msgstr "Zvýrazniť aplikáciu na popredí" -#: ui/SettingsStyle.ui.h:7 -msgid "Running indicator" -msgstr "Indikátor činnosti" +#: ui/BoxDotOptions.ui:54 +msgid "Icon dominant color" +msgstr "Hlavná farba ikony" -#: ui/SettingsStyle.ui.h:8 -msgid "Running indicator position" -msgstr "Pozícia indikátora činnosti" +#: ui/BoxDotOptions.ui:65 +msgid "Custom color" +msgstr "Vlastná farba" -#: ui/SettingsStyle.ui.h:13 -msgid "Running indicator style (Focused app)" -msgstr "Štýl indikátora bežiacich aplikácií (na popredí)činnosti" +#: ui/BoxDotOptions.ui:76 +msgid "Highlight opacity" +msgstr "Priehľadnosť zvýraznenia" -#: ui/SettingsStyle.ui.h:14 -msgid "Dots" -msgstr "Bodky" +#: ui/BoxDotOptions.ui:96 +msgid "Indicator size (px)" +msgstr "Veľkosť indikátora (px)" -#: ui/SettingsStyle.ui.h:15 -msgid "Squares" -msgstr "Štvorce" +#: ui/BoxDotOptions.ui:109 +msgid "Indicator color - Icon Dominant" +msgstr "Farba indikátora – Dominantná ikona" -#: ui/SettingsStyle.ui.h:16 -msgid "Dashes" -msgstr "Čiarky" +#: ui/BoxDotOptions.ui:126 +msgid "Indicator color - Override Theme" +msgstr "Farba indikátora – Nahradiť tému" -#: ui/SettingsStyle.ui.h:17 -msgid "Segmented" -msgstr "Segmentované" +#: ui/BoxDotOptions.ui:142 ui/BoxDotOptions.ui:215 +msgid "1 window open (or ungrouped)" +msgstr "1 otvorené okno (alebo nezoskupené)" -#: ui/SettingsStyle.ui.h:18 -msgid "Solid" +#: ui/BoxDotOptions.ui:146 ui/BoxDotOptions.ui:219 +msgid "Apply to all" +msgstr "Nastaviť pre všetky" + +#: ui/BoxDotOptions.ui:159 ui/BoxDotOptions.ui:232 +msgid "2 windows open" +msgstr "2 otvorené okná" + +#: ui/BoxDotOptions.ui:170 ui/BoxDotOptions.ui:243 +msgid "3 windows open" +msgstr "3 otvorené okná" + +#: ui/BoxDotOptions.ui:181 ui/BoxDotOptions.ui:254 +msgid "4+ windows open" +msgstr "4 a viac otvorených okien" + +#: ui/BoxDotOptions.ui:198 +msgid "Use different for unfocused" +msgstr "Použiť inú pre okná na pozadí" + +#: ui/SettingsBehavior.ui:7 +msgid "Behavior" +msgstr "Správanie" + +#: ui/SettingsBehavior.ui:10 +msgid "Applications" +msgstr "Aplikácie" + +#: ui/SettingsBehavior.ui:13 +msgid "Show favorite applications" +msgstr "Zobraziť obľúbené aplikácie" + +#: ui/SettingsBehavior.ui:23 +msgid "Show favorite applications on secondary panels" +msgstr "Zobraziť obľúbené aplikácie na sekundárnych paneloch" + +#: ui/SettingsBehavior.ui:33 +msgid "Show running applications" +msgstr "Zobraziť spustené aplikácie" + +#: ui/SettingsBehavior.ui:43 +msgid "Ungroup applications" +msgstr "Zrušiť zoskupenie aplikácií" + +#: ui/SettingsBehavior.ui:67 +msgid "Show notification counter badge" +msgstr "Zobraziť znak počítadla oznámení" + +#: ui/SettingsBehavior.ui:81 +msgid "Hover" +msgstr "Po prechode myšou" + +#: ui/SettingsBehavior.ui:84 +msgid "Show window previews on hover" +msgstr "Zobraziť náhľad okna pri podržaní myši" + +#: ui/SettingsBehavior.ui:108 +msgid "Show tooltip on hover" +msgstr "Zobraziť tip okna pri podržaní myši" + +#: ui/SettingsBehavior.ui:120 +msgid "Isolate" +msgstr "Izolovanie" + +#: ui/SettingsBehavior.ui:123 +msgid "Isolate Workspaces" +msgstr "Izolovať pracovné priestory" + +#: ui/SettingsBehavior.ui:147 +msgid "Isolate monitors" +msgstr "Izolovať monitory" + +#: ui/SettingsBehavior.ui:159 +msgid "Overview" +msgstr "Prehľad" + +#: ui/SettingsBehavior.ui:162 +msgid "Click empty space to close overview" +msgstr "Kliknutím do prázdneho priestoru zavrieť prehľad" + +#: ui/SettingsBehavior.ui:172 +msgid "Disable show overview on startup" +msgstr "Vypnúť zobrazenie prehľadu po štarte" + +#: ui/BoxShowApplicationsOptions.ui:25 +msgid "Show Applications icon" +msgstr "Zobraziť ikonu aplikácií" + +#: ui/BoxShowApplicationsOptions.ui:60 +msgid "Show Applications icon side padding (px)" +msgstr "Zobraziť ikony aplikácií s odsadením (px)" + +#: ui/BoxShowApplicationsOptions.ui:73 +msgid "Override escape key and return to desktop" +msgstr "Zmeniť správanie klávesu Esc a vrátiť sa na plochu" + +#: ui/BoxWindowPreviewOptions.ui:89 +msgid "Time (ms) before showing" +msgstr "Čas (ms) pred zobrazením" + +#: ui/BoxWindowPreviewOptions.ui:90 +msgid "(400 is default)" +msgstr "(400 is predvolené)" + +#: ui/BoxWindowPreviewOptions.ui:105 +msgid "Time (ms) before hiding" +msgstr "Čas (ms) pred skrytím" + +#: ui/BoxWindowPreviewOptions.ui:106 +msgid "(100 is default)" +msgstr "(100 is predvolené)" + +#: ui/BoxWindowPreviewOptions.ui:117 +msgid "Immediate on application icon click" +msgstr "Ihneď po kliknutí na ikonu aplikácie" + +#: ui/BoxWindowPreviewOptions.ui:138 +msgid "Animation time (ms)" +msgstr "Trvanie animácie (ms)" + +#: ui/BoxWindowPreviewOptions.ui:159 +msgid "Middle click on the preview to close the window" +msgstr "Prostredné tlačidlo myši zavrie okno v režime náhľadu" + +#: ui/BoxWindowPreviewOptions.ui:176 +msgid "Window previews preferred size (px)" +msgstr "Veľkosť náhľadu okna (px)" + +#: ui/BoxWindowPreviewOptions.ui:192 +msgid "Window previews aspect ratio X (width)" +msgstr "Pomer strán náhľadu okna (šírka)" + +#: ui/BoxWindowPreviewOptions.ui:198 ui/BoxWindowPreviewOptions.ui:239 +msgid "2" +msgstr "2" + +#: ui/BoxWindowPreviewOptions.ui:199 ui/BoxWindowPreviewOptions.ui:240 +msgid "3" +msgstr "3" + +#: ui/BoxWindowPreviewOptions.ui:200 ui/BoxWindowPreviewOptions.ui:241 +msgid "4" +msgstr "4" + +#: ui/BoxWindowPreviewOptions.ui:201 ui/BoxWindowPreviewOptions.ui:242 +#: ui/BoxWindowPreviewOptions.ui:306 +msgid "5" +msgstr "5" + +#: ui/BoxWindowPreviewOptions.ui:202 ui/BoxWindowPreviewOptions.ui:243 +msgid "6" +msgstr "6" + +#: ui/BoxWindowPreviewOptions.ui:203 ui/BoxWindowPreviewOptions.ui:244 +msgid "7" +msgstr "7" + +#: ui/BoxWindowPreviewOptions.ui:204 ui/BoxWindowPreviewOptions.ui:245 +msgid "8" +msgstr "8" + +#: ui/BoxWindowPreviewOptions.ui:205 ui/BoxWindowPreviewOptions.ui:246 +msgid "9" +msgstr "9" + +#: ui/BoxWindowPreviewOptions.ui:206 ui/BoxWindowPreviewOptions.ui:247 +msgid "10" +msgstr "10" + +#: ui/BoxWindowPreviewOptions.ui:207 ui/BoxWindowPreviewOptions.ui:248 +msgid "11" +msgstr "11" + +#: ui/BoxWindowPreviewOptions.ui:208 ui/BoxWindowPreviewOptions.ui:249 +msgid "12" +msgstr "12" + +#: ui/BoxWindowPreviewOptions.ui:209 ui/BoxWindowPreviewOptions.ui:250 +msgid "13" +msgstr "13" + +#: ui/BoxWindowPreviewOptions.ui:210 ui/BoxWindowPreviewOptions.ui:251 +msgid "14" +msgstr "14" + +#: ui/BoxWindowPreviewOptions.ui:211 ui/BoxWindowPreviewOptions.ui:252 +msgid "15" +msgstr "15" + +#: ui/BoxWindowPreviewOptions.ui:212 ui/BoxWindowPreviewOptions.ui:253 +msgid "16" +msgstr "16" + +#: ui/BoxWindowPreviewOptions.ui:213 ui/BoxWindowPreviewOptions.ui:254 +msgid "17" +msgstr "17" + +#: ui/BoxWindowPreviewOptions.ui:214 ui/BoxWindowPreviewOptions.ui:255 +msgid "18" +msgstr "18" + +#: ui/BoxWindowPreviewOptions.ui:215 ui/BoxWindowPreviewOptions.ui:256 +msgid "19" +msgstr "19" + +#: ui/BoxWindowPreviewOptions.ui:216 ui/BoxWindowPreviewOptions.ui:257 +msgid "20" +msgstr "20" + +#: ui/BoxWindowPreviewOptions.ui:217 ui/BoxWindowPreviewOptions.ui:258 +msgid "21" +msgstr "21" + +#: ui/BoxWindowPreviewOptions.ui:223 ui/BoxWindowPreviewOptions.ui:264 +msgid "Fixed" msgstr "Pevný" -#: ui/SettingsStyle.ui.h:19 -msgid "Ciliora" -msgstr "Ciliora" +#: ui/BoxWindowPreviewOptions.ui:233 +msgid "Window previews aspect ratio Y (height)" +msgstr "Pomer strán náhľadu okna (výška)" -#: ui/SettingsStyle.ui.h:20 -msgid "Metro" -msgstr "Metro" +#: ui/BoxWindowPreviewOptions.ui:274 +msgid "Window previews padding (px)" +msgstr "Okraje náhľadu okien (px)" -#: ui/SettingsStyle.ui.h:21 -msgid "Running indicator style (Unfocused apps)" -msgstr "Štýl indikátora bežiacich aplikácií (na pozadí)" +#: ui/BoxWindowPreviewOptions.ui:296 +msgid "Use custom opacity for the previews background" +msgstr "Použiť vlastné nastavenie priehľadnosti náhľadov" -#: ui/SettingsStyle.ui.h:22 -msgid "Panel style" -msgstr "Štýl panelu" +#: ui/BoxWindowPreviewOptions.ui:297 +msgid "" +"If disabled, the previews background have the same opacity as the panel." +msgstr "" +"Ak je vypnuté, pozadie náhľadov bude mať rovnakú nepriehľadnosť ako panel." -#: ui/SettingsStyle.ui.h:23 -msgid "Override panel theme background color" -msgstr "Prepísať farbu pozadia témy panela" +#: ui/BoxWindowPreviewOptions.ui:322 +msgid "Close button and header position" +msgstr "Pozícia záhlavia a tlačidla na zavretie" -#: ui/SettingsStyle.ui.h:24 -msgid "Override panel theme background opacity" -msgstr "Prepísať nepriehľadnosť pozadia témy panela" +#: ui/BoxWindowPreviewOptions.ui:352 +msgid "Display window preview headers" +msgstr "Zobraziť názov okna v náhľadoch" -#: ui/SettingsStyle.ui.h:26 -#, no-c-format -msgid "Panel background opacity (%)" -msgstr "Priehľadnosť panela (%)" +#: ui/BoxWindowPreviewOptions.ui:363 +msgid "Icon size (px) of the window preview" +msgstr "Veľkosť náhľadu (px) aplikácie" -#: ui/SettingsStyle.ui.h:28 -msgid "Dynamic background opacity" -msgstr "Dynamická priehľadnosť" +#: ui/BoxWindowPreviewOptions.ui:364 +msgid "If disabled, the previews icon size will be based on headerbar size" +msgstr "Ak je vypnuté, veľkosť náhľadu bude závisieť ť od veľkosti záhlavia" -#: ui/SettingsStyle.ui.h:29 -msgid "Change opacity when a window gets close to the panel" -msgstr "Zmeniť priehľadnosť pri priblížení okna" +#: ui/BoxWindowPreviewOptions.ui:385 +msgid "Font size (px) of the preview titles" +msgstr "Veľkosť písma (px) názvov náhľadov" -#: ui/SettingsStyle.ui.h:30 -msgid "Override panel theme gradient" -msgstr "Prepísať gradient témy panela" +#: ui/BoxWindowPreviewOptions.ui:401 +msgid "Font weight of the preview titles" +msgstr "Hrúbka písma názvov náhľadov" -#: ui/SettingsStyle.ui.h:32 -#, no-c-format -msgid "Gradient top color and opacity (%)" -msgstr "Horná farba farebného prechodu a priehľadnosť (%)" +#: ui/BoxWindowPreviewOptions.ui:419 +msgid "Font color of the preview titles" +msgstr "Farba písma názvov náhľadov" -#: ui/SettingsStyle.ui.h:34 -#, no-c-format -msgid "Gradient bottom color and opacity (%)" -msgstr "Spodná farba farebného prechodu a priehľadnosť (%)" +#: ui/BoxWindowPreviewOptions.ui:437 +msgid "Enable window peeking" +msgstr "Povoliť režim náhľadu okna" + +#: ui/BoxWindowPreviewOptions.ui:438 +msgid "" +"When hovering over a window preview for some time, the window gets " +"distinguished." +msgstr "Rozlíšiť okná pri podržaní myši nad tlačidlom náhľadu." + +#: ui/BoxWindowPreviewOptions.ui:449 +msgid "Enter window peeking mode timeout (ms)" +msgstr "Povoliť režim náhľadu okna po (ms)" + +#: ui/BoxWindowPreviewOptions.ui:450 +msgid "" +"Time of inactivity while hovering over a window preview needed to enter the " +"window peeking mode." +msgstr "" +"Čas nečinnosti nad ikonou potrebného na prepnutie do režimu náhľadu okna." + +#: ui/BoxWindowPreviewOptions.ui:455 +msgid "50" +msgstr "50" + +#: ui/BoxWindowPreviewOptions.ui:466 +msgid "Window peeking mode opacity" +msgstr "Priehľadnosť v režime náhľadu okna" + +#: ui/BoxWindowPreviewOptions.ui:467 +msgid "" +"All windows except for the peeked one have their opacity set to the same " +"value." +msgstr "Všetky okna, okrem aktívneho, majú rovnaké nastavenie priehľadnosti." + +#: ui/BoxDynamicOpacityOptions.ui:37 +msgid "The panel background opacity is affected by" +msgstr "Nastavenie priehľadnosti panela ovplyvňuje" + +#: ui/BoxDynamicOpacityOptions.ui:42 ui/BoxIntellihideOptions.ui:96 +msgid "All windows" +msgstr "Všetky okná" + +#: ui/BoxDynamicOpacityOptions.ui:43 ui/BoxIntellihideOptions.ui:97 +msgid "Focused windows" +msgstr "Okna v popredí" + +#: ui/BoxDynamicOpacityOptions.ui:44 ui/BoxIntellihideOptions.ui:98 +msgid "Maximized windows" +msgstr "Maximalizované okna" + +#: ui/BoxDynamicOpacityOptions.ui:53 +msgid "Change opacity when a window gets closer than (px)" +msgstr "" +"Zmeniť priehľadnosť, keď sa okno priblíži na vzdialenosť menšiu ako (px)" + +#: ui/BoxDynamicOpacityOptions.ui:69 +msgid "Change opacity to (%)" +msgstr "Zmeniť priehľadnosť na (%)" + +#: ui/BoxDynamicOpacityOptions.ui:82 +msgid "Opacity change animation duration (ms)" +msgstr "Dĺžka animácie zmeny priehľadnosti (ms)" + +#: ui/BoxOverlayShortcut.ui:23 +msgid "Hotkeys will either be Super+Number or Super+Alt+Num" +msgstr "Skratky budú buď Super+číslo alebo Super+Alt+číslo" + +#: ui/BoxOverlayShortcut.ui:24 +msgid "Hotkeys prefix" +msgstr "Predpona klávesových skratiek" + +#: ui/BoxOverlayShortcut.ui:29 +msgid "Super" +msgstr "Super" + +#: ui/BoxOverlayShortcut.ui:30 +msgid "Super + Alt" +msgstr "Super + Alt" + +#: ui/BoxOverlayShortcut.ui:38 +msgid "" +"Temporarily show the application numbers over the icons when using the " +"hotkeys." +msgstr "Dočasne zobraziť čísla aplikácií pri použití klávesových skratiek." + +#: ui/BoxOverlayShortcut.ui:39 +msgid "Number overlay" +msgstr "Zobraziť číslo" + +#: ui/BoxOverlayShortcut.ui:44 +msgid "Never" +msgstr "Nikdy" + +#: ui/BoxOverlayShortcut.ui:45 +msgid "Show temporarily" +msgstr "Zobraziť dočasne" + +#: ui/BoxOverlayShortcut.ui:46 +msgid "Always visible" +msgstr "Vždy viditeľné" + +#: ui/BoxOverlayShortcut.ui:54 +msgid "Hide timeout (ms)" +msgstr "Skryť po (ms)" + +#: ui/BoxOverlayShortcut.ui:65 ui/BoxIntellihideOptions.ui:227 +msgid "Syntax: <Shift>, <Ctrl>, <Alt>, <Super>" +msgstr "Syntax: <Shift>, <Ctrl>, <Alt>, <Super>" + +#: ui/BoxOverlayShortcut.ui:66 +msgid "Shortcut to show the overlay for 2 seconds" +msgstr "Skratka pre zobrazenie prehľadu na 2 sekundy" + +#: ui/BoxOverlayShortcut.ui:69 +msgid "e.g. q" +msgstr "napr. q" + +#: ui/BoxOverlayShortcut.ui:78 +msgid "" +"On secondary monitors, show the overlay on icons matching the primary monitor" +msgstr "" +"Na sekundárnych monitoroch zobrazovať prekrytie na ikonách zodpovedajúcich " +"primárnemu monitoru" + +#: ui/BoxOverlayShortcut.ui:79 +msgid "Show the overlay on all monitors" +msgstr "Zobraziť prehľad na všetkých monitoroch" + +#: ui/BoxOverlayShortcut.ui:89 +msgid "Show previews when the application have multiple instances" +msgstr "Zobraziť náhľady, ak ma aplikácia viacero otvorených okien" + +#: ui/BoxOverlayShortcut.ui:90 +msgid "Show window previews on hotkey" +msgstr "Zobraziť náhľad okna po aktivovaní skratky" + +#: ui/BoxOverlayShortcut.ui:100 +msgid "Select which keyboard number keys are used to activate the hotkeys" +msgstr "Vyberte klávesy, ktoré sa použijú na aktiváciu klávesových skratiek" + +#: ui/BoxOverlayShortcut.ui:101 +msgid "Hotkeys are activated with" +msgstr "Aktivovať klávesové skratky pomocou" + +#: ui/BoxOverlayShortcut.ui:106 +msgid "Number row" +msgstr "Číslo riadka" + +#: ui/BoxOverlayShortcut.ui:107 +msgid "Numeric keypad" +msgstr "Numerická klávesnica" + +#: ui/BoxOverlayShortcut.ui:108 +msgid "Both" +msgstr "Obidva" + +#: ui/BoxSecondaryMenuOptions.ui:19 +msgid "Integrate AppMenu items" +msgstr "Integrovať položky ponuky aplikácií" + +#: ui/BoxSecondaryMenuOptions.ui:30 +msgid "App Details menu item" +msgstr "Položka ponuky Podrobnosti o aplikácii" + +#: ui/BoxSecondaryMenuOptions.ui:31 +msgid "App Details is only available when Gnome Software is installed" +msgstr "" +"Podrobnosti o aplikácii sú k dispozícii len v prípade, že je " +"nainštalovaný Gnome Software" + +#: ui/BoxIntellihideOptions.ui:53 +msgid "Only hide the panel from windows" +msgstr "Skryť panel iba z okien" + +#: ui/BoxIntellihideOptions.ui:64 +msgid "Overlapping" +msgstr "Prekrývajúce" + +#: ui/BoxIntellihideOptions.ui:80 +msgid "On same monitor" +msgstr "Na rovnakom monitore" + +#: ui/BoxIntellihideOptions.ui:91 +msgid "The panel hides from" +msgstr "Skrývanie panela pre" + +#: ui/BoxIntellihideOptions.ui:110 +msgid "Touching the monitor's edge with the pointer reveals the panel" +msgstr "Dotknutím sa okraja monitora ukazovateľom sa zobrazí panel" + +#: ui/BoxIntellihideOptions.ui:126 ui/BoxIntellihideOptions.ui:153 +msgid "Limit to panel length" +msgstr "Obmedziť na dĺžku panela" + +#: ui/BoxIntellihideOptions.ui:137 +msgid "Hovering the panel area keeps the panel revealed" +msgstr "Podržaním kurzora nad oblasťou panela zostane panel zobrazený" + +#: ui/BoxIntellihideOptions.ui:164 +msgid "Require pressure at the edge of the monitor to reveal the panel" +msgstr "Na zobrazenie panela je potrebné zatlačiť úplne na okraj monitora" + +#: ui/BoxIntellihideOptions.ui:174 +msgid "Required pressure threshold (px)" +msgstr "Požadovaná prahová hodnota tlaku (px)" + +#: ui/BoxIntellihideOptions.ui:188 +msgid "Required pressure timeout (ms)" +msgstr "Požadovaný časový limit tlaku (ms)" + +#: ui/BoxIntellihideOptions.ui:206 +msgid "Allow the panel to be revealed while in fullscreen mode" +msgstr "Povoliť zobrazenie panela v režime celej obrazovky" + +#: ui/BoxIntellihideOptions.ui:216 +msgid "(requires multi-monitors option)" +msgstr "(vyžaduje možnosť viacerých monitorov)" + +#: ui/BoxIntellihideOptions.ui:217 +msgid "Only hide secondary panels" +msgstr "Skryť iba sekundárne panely" + +#: ui/BoxIntellihideOptions.ui:228 +msgid "Keyboard shortcut to reveal and hold the panel" +msgstr "Klávesová skratka pro zobrazenie panela" + +#: ui/BoxIntellihideOptions.ui:231 +msgid "e.g. i" +msgstr "napr. i" + +#: ui/BoxIntellihideOptions.ui:240 +msgid "Persist state across restarts" +msgstr "Zachovať stav po reštartovaní" + +#: ui/BoxIntellihideOptions.ui:250 +msgid "" +"(respects Gnome \"Do Not Disturb\" and requires show notification counter " +"badge option)" +msgstr "" +"(rešpektuje funkciu Gnome „Nerušiť“ a vyžaduje možnosť zobrazenia odznaku s " +"počtom upozornení)" + +#: ui/BoxIntellihideOptions.ui:251 +msgid "Reveal and hold the panel on notification" +msgstr "Zobraziť a ponechať panel pri oznámení" + +#: ui/BoxIntellihideOptions.ui:265 +msgid "Hide and reveal animation duration (ms)" +msgstr "Rýchlosť animácie zobrazenia/skrytia panela (ms)" + +#: ui/BoxIntellihideOptions.ui:279 +msgid "Delay before hiding the panel (ms)" +msgstr "Oneskorenie pred skrytím panela (ms)" + +#: ui/BoxIntellihideOptions.ui:294 +msgid "Delay before revealing the panel (ms)" +msgstr "Oneskorenie pred zobrazením panela (ms)" + +#: ui/BoxIntellihideOptions.ui:309 +msgid "Delay before enabling intellihide on start (ms)" +msgstr "Oneskorenie pred skrytím pri štarte (ms)" + +#: ui/BoxAnimateAppIconHoverOptions.ui:62 +msgid "Animation type" +msgstr "Typ animácie" + +#: ui/BoxAnimateAppIconHoverOptions.ui:67 +msgid "Simple" +msgstr "Jednoduchá" + +#: ui/BoxAnimateAppIconHoverOptions.ui:68 +msgid "Ripple" +msgstr "Vlnenie" + +#: ui/BoxAnimateAppIconHoverOptions.ui:69 +msgid "Plank" +msgstr "Doska" + +#: ui/BoxAnimateAppIconHoverOptions.ui:84 +msgid "Duration" +msgstr "Trvanie" + +#: ui/BoxAnimateAppIconHoverOptions.ui:101 +msgid "Rotation" +msgstr "Otáčanie" + +#: ui/BoxAnimateAppIconHoverOptions.ui:118 +msgid "Travel" +msgstr "Pohyb" + +#: ui/BoxAnimateAppIconHoverOptions.ui:135 +msgid "Zoom" +msgstr "Priblíženie" + +#: ui/BoxAnimateAppIconHoverOptions.ui:152 +msgid "Convexity" +msgstr "Vypuklosť" + +#: ui/BoxAnimateAppIconHoverOptions.ui:169 +msgid "Extent" +msgstr "Rozsah" + +#: ui/BoxMiddleClickOptions.ui:19 +msgid "Shift+Click action" +msgstr "Akcia pri Shift+Kliknutie" + +#: ui/BoxMiddleClickOptions.ui:20 +msgid "" +"When set to minimize, double clicking minimizes all the windows of the " +"application." +msgstr "" +"Ak je nastavená minimalizácia, dvojklik minimalizuje všetky okná aplikácie." + +#: ui/BoxMiddleClickOptions.ui:26 ui/BoxMiddleClickOptions.ui:55 +#: ui/BoxMiddleClickOptions.ui:84 +msgid "Minimize window" +msgstr "Minimalizovať okno" + +#: ui/BoxMiddleClickOptions.ui:48 +msgid "Middle-Click action" +msgstr "Prostredné tlačidlo myši" + +#: ui/BoxMiddleClickOptions.ui:49 +msgid "Behavior for Middle-Click." +msgstr "Správanie pri stlačení prostredného tlačidla." + +#: ui/BoxMiddleClickOptions.ui:77 +msgid "Shift+Middle-Click action" +msgstr "Akcia pri Shift + prostredné tlačidlo myši" + +#: ui/BoxMiddleClickOptions.ui:78 +msgid "Behavior for Shift+Middle-Click." +msgstr "Shift + prostredné tlačidlo myši." + +#: ui/BoxHighlightAppIconHoverOptions.ui:26 +msgid "Highlight AppIcon color" +msgstr "Farba zvýraznenia ikony aplikácie" + +#: ui/BoxHighlightAppIconHoverOptions.ui:38 +msgid "Pressed AppIcon color" +msgstr "Farba stlačenej ikony aplikácie" + +#: ui/BoxHighlightAppIconHoverOptions.ui:50 +msgid "Highlight AppIcon border radius" +msgstr "Zvýraznenie polomeru orámovania ikony aplikácie" + +#: ui/BoxHighlightAppIconHoverOptions.ui:51 +msgid "Overrides global border radius (default is 0)" +msgstr "Nahradí globálny polomer orámovania (predvolená hodnota je 0)" msgid "Show Desktop icon" msgstr "Zobrať ikonu plochy" @@ -1404,6 +1614,39 @@ msgstr "Zobrať ikonu plochy" msgid "Show Desktop button padding (px)" msgstr "Zobraziť ikonu plochy výplň (px)" +msgid "System Monitor" +msgstr "Sledovanie systému" + +msgid "Files" +msgstr "Súbory" + +msgid "Settings" +msgstr "Nastavenia" + +#~ msgid "Unavailable when gnome-shell top panel is present" +#~ msgstr "Nedostupné, ak je aktívny horný panel gnome-shell" + +#~ msgid "Advanced Options" +#~ msgstr "Pokročilé nastavenia" + +#~ msgid "Windows" +#~ msgstr "Okná" + +#~ msgid "Terminal" +#~ msgstr "Terminál" + +#~ msgid "Extensions" +#~ msgstr "Rozšírenia" + +#~ msgid "Nothing yet!" +#~ msgstr "Zatiaľ nedostupné!" + +#~ msgid "For real..." +#~ msgstr "Naozaj..." + +#~ msgid "Show AppMenu button" +#~ msgstr "Zobraziť tlačidlo ponuky aplikácií" + #, javascript-format #~ msgid "%d ." #~ msgstr "%d ." @@ -1420,29 +1663,11 @@ msgstr "Zobraziť ikonu plochy výplň (px)" #~ msgid "Custom Show Applications image icon" #~ msgstr "Vlastné nastavenie zobrazenia ikony aplikácie" -#~ msgid "Position" -#~ msgstr "Umiestnenie" - -#~ msgid "Style" -#~ msgstr "Štýl" - #~ msgid "Top Bar > Show App Menu must be enabled in Tweak Tool" #~ msgstr "" #~ "V nástroji Vyladenia musíte aktivovať Horná lišta > Aktívny roh " #~ "prehľadu aktivít" -#~ msgid "Behavior" -#~ msgstr "Správanie" - -#~ msgid "Action" -#~ msgstr "Akcia" - -#~ msgid "Fine-Tune" -#~ msgstr "Detailné nastavenia" - -#~ msgid "About" -#~ msgstr "O rozšírení" - #~ msgid "Preview timeout on icon leave (ms)" #~ msgstr "Časový limit náhľadu pri opustení kurzora (ms)" diff --git a/schemas/org.gnome.shell.extensions.vesperos-taskbar.desktop-icons.gschema.xml b/schemas/org.gnome.shell.extensions.vesperos-taskbar.desktop-icons.gschema.xml new file mode 100644 index 0000000..1ae0ab9 --- /dev/null +++ b/schemas/org.gnome.shell.extensions.vesperos-taskbar.desktop-icons.gschema.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + '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. + + + 'top-left' + New icons start corner + Set the corner from where the icons will start to be placed. + + + true + Show external drives in the desktop + Show the disk drives connected to the computer. + + + false + Show network drives in the desktop + Show mounted network volumes in the desktop. + + + true + Add new drives to the opposite side of the screen + When adding drives and volumes to the desktop, add them to the opposite side of the screen. + + + true + Shows a rectangle in the destination place during DnD + When doing a Drag'n'Drop operation, marks the place in the grid where the icon will be put with a semitransparent rectangle. + + + false + Sort Special Folders - Home/Trash Drives. + When arranging Icons on desktop, to sort and change the position of the Home, Trash and mounted Network or External Drives + + + false + Keep Icons Arranged + Always keep Icons Arranged by the last arranged order + + + 'NAME' + Arrange Order + Icons Arranged by this property + + + false + Keep Icons Stacked + Always keep Icons Stacked, Similar types are grouped + + + [] + Type of Files to not Stack + An Array of strings types, Don't Stack these types of files + + + true + Add an emblem to links + Add an emblem to allow to identify soft links. + + + false + Use black for label text + Paint the label text in black instead of white. Useful when using light backgrounds. + + + false + Show new icons on non primary monitor if connected + If a second monitor is connected, new icons are placed on the non primary monitor + + + false + Icons can be positioned anywhere on Desktop + Icons are not on a rectangular grid but can be postioned anywhere independent of grid + + + false + Show Desktop Widgets + Displays Widgets in a layer below the icons if installed + + + [] + Hide/Show all desktop windows + Show the icons on the desktop, or hide them all + + + {} + User Application Shortcuts + Override for default application shortcuts set by the User + + + diff --git a/schemas/org.gnome.shell.extensions.zorin-taskbar.gschema.xml b/schemas/org.gnome.shell.extensions.vesperos-taskbar.gschema.xml similarity index 96% rename from schemas/org.gnome.shell.extensions.zorin-taskbar.gschema.xml rename to schemas/org.gnome.shell.extensions.vesperos-taskbar.gschema.xml index 95a5ecc..0b4bfc9 100644 --- a/schemas/org.gnome.shell.extensions.zorin-taskbar.gschema.xml +++ b/schemas/org.gnome.shell.extensions.vesperos-taskbar.gschema.xml @@ -1,6 +1,6 @@ - + @@ -9,7 +9,7 @@ - + @@ -20,37 +20,37 @@ - + - + - + - + - + - + - - + + 'BOTTOM' Panel position (Deprecated) Panel is shown on the Bottom or Top of the screen. @@ -90,12 +90,12 @@ Panel size (Deprecated) Set the size of the panel. - + 'CILIORA' Style of the running indicator (focused) Style of the running indicator for the icon for the currently focused application - + 'DOTS' Style of the running indicator (unfocused) Style of the running indicator for the icon for applications which are not currently focused @@ -139,7 +139,7 @@ Panel opacity Custom opacity for the panel - + 'ALL_WINDOWS' Dynamic opacity behavior Dictates which window type affects the panel opacity @@ -188,7 +188,7 @@ false Only hide from windows on monitor - + 'FOCUSED_WINDOWS' Intellihide behaviour Dictates how to intelligently hide the panel @@ -351,27 +351,27 @@ true Activate only one window - + 'CYCLE-MIN' Action when clicking on a running app Set the action that is executed when clicking on the icon of a running application - + '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 - + 'CYCLE_WINDOWS' Action when scrolling over a running app Set the action that is executed when scrolling over a running application @@ -395,7 +395,7 @@ Keybinding to show the dock and the number overlay. Behavior depends on hotkeys-show-dock and hotkeys-overlay. - + 'TEMPORARILY' Transitivity of the number overlay You can choose between NEVER, TEMPORARILY and ALWAYS. @@ -405,7 +405,7 @@ Super Hot-Keys Launch and switch between dash items using Super+(0-9) - + 'Super' Prefix to use for hotkeys You can choose between Super or SuperAlt as the prefix for hotkeys. @@ -415,7 +415,7 @@ Show window previews When multiple instances of the application are available, show their window previews - + 'NUM_ROW' Hotkeys number keys Which number keys are used for the hotkeys diff --git a/src/desktopIconsIntegration.js b/src/desktopIconsIntegration.js index 669fb6d..83badd0 100644 --- a/src/desktopIconsIntegration.js +++ b/src/desktopIconsIntegration.js @@ -57,17 +57,13 @@ import GLib from 'gi://GLib' import * as Main from 'resource:///org/gnome/shell/ui/main.js' -import * as ExtensionUtils from 'resource:///org/gnome/shell/misc/extensionUtils.js' import { Extension } from 'resource:///org/gnome/shell/extensions/extension.js' const IDENTIFIER_UUID = '130cbc66-235c-4bd6-8571-98d2d8bba5e2' export class DesktopIconsUsableAreaClass { _checkIfExtensionIsEnabled(extension) { - return ( - extension?.state === ExtensionUtils.ExtensionState.ENABLED || - extension?.state === ExtensionUtils.ExtensionState.ACTIVE - ) + return extension?.state === 1 // 1 = ENABLED, stable across GNOME Shell versions } constructor() { diff --git a/src/extension.js b/src/extension.js index c751275..bf86e45 100644 --- a/src/extension.js +++ b/src/extension.js @@ -31,6 +31,7 @@ import * as PanelSettings from './panelSettings.js' import * as PanelManager from './panelManager.js' import * as AppIcons from './appIcons.js' import * as Utils from './utils.js' +import { DingManager } from './ding/dingManager.js' const ZORIN_DASH_UUID = 'zorin-dash@zorinos.com' export const ZORIN_TILING_SHELL_UUID = 'zorin-tiling-shell@zorinos.com' @@ -49,12 +50,16 @@ export let PERSISTENTSTORAGE = null export let EXTENSION_PATH = null export let tracker = null -export default class ZorinTaskbarExtension extends Extension { +export default class VesperosTaskbarExtension extends Extension { constructor(metadata) { super(metadata) //create an object that persists until gnome-shell is restarted, even if the extension is disabled PERSISTENTSTORAGE = {} + + // Desktop Icons NG manager — lives for the lifetime of the extension object + this._dingManager = new DingManager(this) + this.DesktopIconsUsableArea = null } async enable() { @@ -65,7 +70,7 @@ export default class ZorinTaskbarExtension extends Extension { this._alreadyEnabled = true DTP_EXTENSION = this - SETTINGS = this.getSettings('org.gnome.shell.extensions.zorin-taskbar') + SETTINGS = this.getSettings('org.gnome.shell.extensions.vesperos-taskbar') try { TILINGSETTINGS = new Gio.Settings({ schema_id: 'org.gnome.shell.extensions.zorin-tiling-shell', @@ -90,7 +95,7 @@ export default class ZorinTaskbarExtension extends Extension { tracker = Shell.WindowTracker.get_default() //create a global object that can emit signals and conveniently expose functionalities to other extensions - global.zorinTaskbar = new EventEmitter() + global.vesperosTaskbar = new EventEmitter() await PanelSettings.init(SETTINGS) @@ -99,6 +104,10 @@ export default class ZorinTaskbarExtension extends Extension { this.enableGlobalStyles() + // Enable desktop icons (DING) + this._dingManager.enable() + this.DesktopIconsUsableArea = this._dingManager.DesktopIconsUsableArea + let completeEnable = () => { panelManager = new PanelManager.PanelManager() panelManager.enable() @@ -129,6 +138,10 @@ export default class ZorinTaskbarExtension extends Extension { if (zorinDashDelayId) GLib.Source.remove(zorinDashDelayId) zorinDashDelayId = 0 + // Disable desktop icons (DING) + this._dingManager?.disable() + this.DesktopIconsUsableArea = null + panelManager?.disable() PanelSettings.clearCache() @@ -142,7 +155,7 @@ export default class ZorinTaskbarExtension extends Extension { panelManager = null tracker = null - delete global.zorinTaskbar + delete global.vesperosTaskbar this.disableGlobalStyles() diff --git a/src/panel.js b/src/panel.js index a306c0f..2b8d84a 100644 --- a/src/panel.js +++ b/src/panel.js @@ -89,7 +89,7 @@ export const Panel = GObject.registerClass( class Panel extends St.Widget { _init(panelManager, monitor, clipContainer, panelBox, isStandalone) { super._init({ - style_class: 'zorintaskbarPanel', + style_class: 'vesperostaskbarPanel', layout_manager: new Clutter.BinLayout(), }) @@ -161,11 +161,13 @@ export const Panel = GObject.registerClass( this.panel, ) this._setPanelMenu('dateMenu', DateMenu.DateMenuButton, this.panel) - this._setPanelMenu( - 'activities', - Main.panel.statusArea.activities.constructor, - this.panel, - ) + if (Main.panel.statusArea.activities) { + this._setPanelMenu( + 'activities', + Main.panel.statusArea.activities.constructor, + this.panel, + ) + } this.panel.add_child(this._leftBox) this.panel.add_child(this._centerBox) @@ -188,7 +190,7 @@ export const Panel = GObject.registerClass( } panelBoxes.forEach((p) => (this[p] = Main.panel[p])) - ;['activities', systemMenuInfo.name, 'dateMenu'].forEach((b) => { + ;['activities', systemMenuInfo.name, 'dateMenu'].filter((b) => this.statusArea[b]).forEach((b) => { let container = this.statusArea[b].container let parent = container.get_parent() let siblings = parent.get_children() @@ -303,7 +305,7 @@ export const Panel = GObject.registerClass( this._setAllocationMap() this.panel.add_style_class_name( - 'zorintaskbarMainPanel ' + this.getOrientation(), + 'vesperostaskbarMainPanel ' + this.getOrientation(), ) this.intellihide = new Intellihide.Intellihide(this) @@ -450,12 +452,12 @@ export const Panel = GObject.registerClass( let { name: systemMenuName } = Utils.getSystemMenuInfo() if (!this.isStandalone) { - ;['vertical', 'horizontal', 'zorintaskbarMainPanel'].forEach((c) => + ;['vertical', 'horizontal', 'vesperostaskbarMainPanel'].forEach((c) => this.panel.remove_style_class_name(c), ) if (!Main.sessionMode.isLocked) { - ;['activities', systemMenuName, 'dateMenu'].forEach((b) => { + ;['activities', systemMenuName, 'dateMenu'].filter((b) => this.statusArea[b]).forEach((b) => { let container = this.statusArea[b].container let originalParent = container._dtpOriginalParent @@ -486,9 +488,11 @@ export const Panel = GObject.registerClass( this._setShowDesktopButton(false) delete this.panel._toggleMenu - delete Utils.getIndicators( - this.statusArea[systemMenuName]._volumeOutput, - )._dtpIgnoreScroll + if (this.statusArea[systemMenuName]?._volumeOutput) { + delete Utils.getIndicators( + this.statusArea[systemMenuName]._volumeOutput, + )._dtpIgnoreScroll + } this._injectionManager.clear() @@ -561,6 +565,8 @@ export const Panel = GObject.registerClass( panelPositions.forEach((pos) => { let allocationMap = this.allocationMap[pos.element] + if (!allocationMap) return + if (allocationMap.actor) { allocationMap.actor.visible = pos.visible @@ -876,10 +882,13 @@ export const Panel = GObject.registerClass( setMap(Pos.LEFT_BOX, this._leftBox) setMap(Pos.TASKBAR, this.taskbar.actor) setMap(Pos.CENTER_BOX, this._centerBox) - setMap(Pos.DATE_MENU, this.statusArea.dateMenu.container) + setMap( + Pos.DATE_MENU, + this.statusArea.dateMenu?.container ?? 0, + ) setMap( Pos.SYSTEM_MENU, - this.statusArea[Utils.getSystemMenuInfo().name].container, + this.statusArea[Utils.getSystemMenuInfo().name]?.container ?? 0, ) setMap(Pos.RIGHT_BOX, this._rightBox) setMap(Pos.DESKTOP_BTN, this._showDesktopButton) @@ -1155,7 +1164,7 @@ export const Panel = GObject.registerClass( // styles for theming Object.keys(St.Side).forEach((p) => { - let cssName = 'zorintaskbar' + p.charAt(0) + p.slice(1).toLowerCase() + let cssName = 'vesperostaskbar' + p.charAt(0) + p.slice(1).toLowerCase() this.panel[ (St.Side[p] == this.geom.position ? 'add' : 'remove') + diff --git a/src/panelManager.js b/src/panelManager.js index 406226f..a3ac54a 100644 --- a/src/panelManager.js +++ b/src/panelManager.js @@ -100,8 +100,8 @@ export const PanelManager = class { }) } - global.zorinTaskbar.panels = this.allPanels - global.zorinTaskbar.emit('panels-created') + global.vesperosTaskbar.panels = this.allPanels + global.vesperosTaskbar.emit('panels-created') this._setDesktopIconsMargins() @@ -757,7 +757,7 @@ export const PanelManager = class { monitor || Main.layoutManager.findMonitorForActor(boxPointer.sourceActor) let panel = Utils.find( - global.zorinTaskbar.panels, + global.vesperosTaskbar.panels, (p) => p.monitor == monitor, ) let excess = alloc.natural_size + panel.outerSize + 10 - monitor.height // 10 is arbitrary @@ -946,7 +946,7 @@ function newUpdateHotCorners() { // build new hot corners for (let i = 0; i < this.monitors.length; i++) { let panel = Utils.find( - global.zorinTaskbar.panels, + global.vesperosTaskbar.panels, (p) => p.monitor.index == i, ) let panelPosition = panel ? panel.geom.position : St.Side.BOTTOM @@ -1105,7 +1105,7 @@ function newUpdatePanelBarrier(panel) { function _newLookingGlassResize() { let primaryMonitorPanel = Utils.find( - global.zorinTaskbar.panels, + global.vesperosTaskbar.panels, (p) => p.monitor == Main.layoutManager.primaryMonitor, ) let topOffset = diff --git a/src/prefs.js b/src/prefs.js index deff197..ed2dc5b 100644 --- a/src/prefs.js +++ b/src/prefs.js @@ -45,7 +45,7 @@ const DEFAULT_MARGIN_SIZES = [32, 24, 16, 12, 8, 4, 0] // Minimum length could be 0, but a higher value may help prevent confusion about where the panel went. const LENGTH_MARKS = [100, 90, 80, 70, 60, 50, 40, 30, 20] -const SCHEMA_PATH = '/org.gnome.shell.extensions.zorin-taskbar/' +const SCHEMA_PATH = '/org.gnome.shell.extensions.vesperos-taskbar/' /** * This function was copied from the activities-config extension @@ -146,7 +146,7 @@ function checkHotkeyPrefix(settings) { const Preferences = class { constructor(window, settings, gnomeInterfaceSettings, path) { - // this._settings = ExtensionUtils.getSettings('org.gnome.shell.extensions.zorin-taskbar'); + // this._settings = ExtensionUtils.getSettings('org.gnome.shell.extensions.vesperos-taskbar'); this._rtl = Gtk.Widget.get_default_direction() == Gtk.TextDirection.RTL this._builder = new Gtk.Builder() this._builder.set_scope(new BuilderScope(this)) @@ -1843,12 +1843,12 @@ const BuilderScope = GObject.registerClass( }, ) -export default class ZorinTaskbarPreferences extends ExtensionPreferences { +export default class VesperosTaskbarPreferences extends ExtensionPreferences { fillPreferencesWindow(window) { let closeRequestId = null window._settings = this.getSettings( - 'org.gnome.shell.extensions.zorin-taskbar', + 'org.gnome.shell.extensions.vesperos-taskbar', ) window._gnomeInterfaceSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.interface', diff --git a/src/stylesheet.css b/src/stylesheet.css index be061a8..bf8bc87 100644 --- a/src/stylesheet.css +++ b/src/stylesheet.css @@ -21,81 +21,81 @@ * Some code was also adapted from the upstream Gnome Shell source code. */ -#zorintaskbarTaskbar .dash-item-container > StWidget, -.zorintaskbarMainPanel .dash-item-container .show-apps { +#vesperostaskbarTaskbar .dash-item-container > StWidget, +.vesperostaskbarMainPanel .dash-item-container .show-apps { margin: 0; padding: 0; } -#zorintaskbarScrollview .overview-tile, -.zorintaskbarMainPanel .overview-tile { +#vesperostaskbarScrollview .overview-tile, +.vesperostaskbarMainPanel .overview-tile { background: none; } -#zorintaskbarScrollview .overview-tile .overview-label { +#vesperostaskbarScrollview .overview-tile .overview-label { /* must match TITLE_RIGHT_PADDING in apppicons.js */ padding-right: 8px; text-align: left; } -#zorintaskbarTaskbar .dash-item-container .overview-tile:hover, -#zorintaskbarTaskbar .dash-item-container .overview-tile .dtp-container .overview-icon, -.zorintaskbarMainPanel .dash-item-container .show-apps:hover .overview-icon { +#vesperostaskbarTaskbar .dash-item-container .overview-tile:hover, +#vesperostaskbarTaskbar .dash-item-container .overview-tile .dtp-container .overview-icon, +.vesperostaskbarMainPanel .dash-item-container .show-apps:hover .overview-icon { background: none; } -#zorintaskbarScrollview .overview-tile .favorite { +#vesperostaskbarScrollview .overview-tile .favorite { /*background-color: rgba(80, 150, 255, 0.4);*/ } -#zorintaskbarTaskbar .scrollview-fade { +#vesperostaskbarTaskbar .scrollview-fade { background-gradient-end: rgba(0, 0, 0, 0); } -.zorintaskbarSecondaryMenu { +.vesperostaskbarSecondaryMenu { max-width: 400px; } -.zorintaskbarMainPanel.vertical .panel-button { +.vesperostaskbarMainPanel.vertical .panel-button { text-align: center; } -.zorintaskbarMainPanel.vertical .panel-button.vertical *, -.zorintaskbarMainPanel.vertical .panel-button.clock-display * { +.vesperostaskbarMainPanel.vertical .panel-button.vertical *, +.vesperostaskbarMainPanel.vertical .panel-button.clock-display * { padding: 0; margin: 0; } -.zorintaskbarMainPanel.vertical .panel-button > *, -.zorintaskbarMainPanel.vertical .panel-button.vertical > *, -.zorintaskbarMainPanel.vertical .panel-button.vertical .system-status-icon, -.zorintaskbarMainPanel.vertical .panel-button.clock-display > *, -.zorintaskbarMainPanel.vertical .panel-button.clock-display .clock { +.vesperostaskbarMainPanel.vertical .panel-button > *, +.vesperostaskbarMainPanel.vertical .panel-button.vertical > *, +.vesperostaskbarMainPanel.vertical .panel-button.vertical .system-status-icon, +.vesperostaskbarMainPanel.vertical .panel-button.clock-display > *, +.vesperostaskbarMainPanel.vertical .panel-button.clock-display .clock { padding: 8px 0; } -.zorintaskbarMainPanel.vertical .panel-button.clock-display { +.vesperostaskbarMainPanel.vertical .panel-button.clock-display { -natural-hpadding: 0; -minimum-hpadding: 0; } -#zorintaskbarThumbnailList { +#vesperostaskbarThumbnailList { spacing: 0em; padding: 0 1em; } -#zorintaskbarThumbnailList .popup-menu-item { +#vesperostaskbarThumbnailList .popup-menu-item { padding: 0; border-radius: 5px; spacing: 0; } -#zorintaskbarThumbnailList .window-box { +#vesperostaskbarThumbnailList .window-box { padding: 0; spacing: 0; } -#zorintaskbarThumbnailList .preview-window-title { +#vesperostaskbarThumbnailList .preview-window-title { padding-top: 1em; } @@ -107,7 +107,7 @@ spacing: 0px; } -#zorintaskbarScrollview .badge { +#vesperostaskbarScrollview .badge { color: rgba(255, 255, 255, 1); padding: 0.2em 0.5em; border-radius: 1em; @@ -116,16 +116,16 @@ margin: 0 0 0 2px; } -#zorintaskbarScrollview .number-overlay { +#vesperostaskbarScrollview .number-overlay { background-color: rgba(0,0,0,0.8); } -#zorintaskbarScrollview .notification-badge { +#vesperostaskbarScrollview .notification-badge { background-color: rgba(255,0,0,0.8); margin: 2px; } -#zorintaskbarScrollview .progress-bar { +#vesperostaskbarScrollview .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); */ @@ -137,67 +137,67 @@ } /* border radius, grrr no css variables in ST */ -#uiGroup.br5 .zorintaskbarPanel.dock, -#uiGroup.br5 .zorintaskbarPanel.dock .zorintaskbarMainPanel, +#uiGroup.br5 .vesperostaskbarPanel.dock, +#uiGroup.br5 .vesperostaskbarPanel.dock .vesperostaskbarMainPanel, #uiGroup.br5 .show-apps, #uiGroup.br5 .dtp-container, #uiGroup.br5 .dtp-dots-container { border-radius: 5px !important; overflow: hidden !important; } -#uiGroup.br5 .zorintaskbarMainPanel .panel-button, -#uiGroup.br5 .zorintaskbarMainPanel .panel-button.clock-display .clock { +#uiGroup.br5 .vesperostaskbarMainPanel .panel-button, +#uiGroup.br5 .vesperostaskbarMainPanel .panel-button.clock-display .clock { border-radius: 5px; } -#uiGroup.br10 .zorintaskbarPanel.dock, -#uiGroup.br10 .zorintaskbarPanel.dock .zorintaskbarMainPanel, +#uiGroup.br10 .vesperostaskbarPanel.dock, +#uiGroup.br10 .vesperostaskbarPanel.dock .vesperostaskbarMainPanel, #uiGroup.br10 .show-apps, #uiGroup.br10 .dtp-container, #uiGroup.br10 .dtp-dots-container { border-radius: 10px !important; overflow: hidden !important; } -#uiGroup.br10 .zorintaskbarMainPanel .panel-button, -#uiGroup.br10 .zorintaskbarMainPanel .panel-button.clock-display .clock { +#uiGroup.br10 .vesperostaskbarMainPanel .panel-button, +#uiGroup.br10 .vesperostaskbarMainPanel .panel-button.clock-display .clock { border-radius: 10px; } -#uiGroup.br15 .zorintaskbarPanel.dock, -#uiGroup.br15 .zorintaskbarPanel.dock .zorintaskbarMainPanel, +#uiGroup.br15 .vesperostaskbarPanel.dock, +#uiGroup.br15 .vesperostaskbarPanel.dock .vesperostaskbarMainPanel, #uiGroup.br15 .show-apps, #uiGroup.br15 .dtp-container, #uiGroup.br15 .dtp-dots-container { border-radius: 15px !important; overflow: hidden !important; } -#uiGroup.br15 .zorintaskbarMainPanel .panel-button, -#uiGroup.br15 .zorintaskbarMainPanel .panel-button.clock-display .clock { +#uiGroup.br15 .vesperostaskbarMainPanel .panel-button, +#uiGroup.br15 .vesperostaskbarMainPanel .panel-button.clock-display .clock { border-radius: 15px; } -#uiGroup.br20 .zorintaskbarPanel.dock, -#uiGroup.br20 .zorintaskbarPanel.dock .zorintaskbarMainPanel, +#uiGroup.br20 .vesperostaskbarPanel.dock, +#uiGroup.br20 .vesperostaskbarPanel.dock .vesperostaskbarMainPanel, #uiGroup.br20 .show-apps, #uiGroup.br20 .dtp-container, #uiGroup.br20 .dtp-dots-container { border-radius: 20px !important; overflow: hidden !important; } -#uiGroup.br20 .zorintaskbarMainPanel .panel-button, -#uiGroup.br20 .zorintaskbarMainPanel .panel-button.clock-display .clock { +#uiGroup.br20 .vesperostaskbarMainPanel .panel-button, +#uiGroup.br20 .vesperostaskbarMainPanel .panel-button.clock-display .clock { border-radius: 20px; } -#uiGroup.br25 .zorintaskbarPanel.dock, -#uiGroup.br25 .zorintaskbarPanel.dock .zorintaskbarMainPanel, +#uiGroup.br25 .vesperostaskbarPanel.dock, +#uiGroup.br25 .vesperostaskbarPanel.dock .vesperostaskbarMainPanel, #uiGroup.br25 .show-apps, #uiGroup.br25 .dtp-container, #uiGroup.br25 .dtp-dots-container { border-radius: 25px !important; overflow: hidden !important; } -#uiGroup.br25 .zorintaskbarMainPanel .panel-button, -#uiGroup.br25 .zorintaskbarMainPanel .panel-button.clock-display .clock { +#uiGroup.br25 .vesperostaskbarMainPanel .panel-button, +#uiGroup.br25 .vesperostaskbarMainPanel .panel-button.clock-display .clock { border-radius: 25px; } diff --git a/src/taskbar.js b/src/taskbar.js index c797299..c02bdc5 100644 --- a/src/taskbar.js +++ b/src/taskbar.js @@ -83,7 +83,7 @@ export const TaskbarActor = GObject.registerClass( this._delegate = delegate this._currentBackgroundColor = 0 super._init({ - name: 'zorintaskbarTaskbar', + name: 'vesperostaskbarTaskbar', layout_manager: new Clutter.BoxLayout({ orientation: Clutter.Orientation[ @@ -210,7 +210,7 @@ export const Taskbar = class extends EventEmitter { this._container = new TaskbarActor(this) this._scrollView = new St.ScrollView({ - name: 'zorintaskbarScrollview', + name: 'vesperostaskbarScrollview', hscrollbar_policy: St.PolicyType.NEVER, vscrollbar_policy: St.PolicyType.NEVER, enable_mouse_scrolling: true, diff --git a/src/windowPreview.js b/src/windowPreview.js index 3ef4ed2..f074d69 100644 --- a/src/windowPreview.js +++ b/src/windowPreview.js @@ -108,7 +108,7 @@ export const PreviewMenu = GObject.registerClass( }) this._box = Utils.createBoxLayout({ vertical: geom.vertical }) this._scrollView = new St.ScrollView({ - name: 'zorintaskbarPreviewScrollview', + name: 'vesperostaskbarPreviewScrollview', hscrollbar_policy: St.PolicyType.NEVER, vscrollbar_policy: St.PolicyType.NEVER, enable_mouse_scrolling: true,