Merge remote-tracking branch 'upstream/master' into local/libcosmic-path-patch

# Conflicts:
#	Cargo.lock
#	Cargo.toml
#	src/app.rs
#	src/dialog.rs
#	src/menu.rs
#	src/tab.rs
This commit is contained in:
Lionel DARNIS 2026-08-19 22:02:40 +02:00
commit 1488e2b01b
43 changed files with 2154 additions and 1007 deletions

1744
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,6 @@
[package] [package]
name = "cosmic-files" name = "cosmic-files"
version = "1.3.0" version = "1.6.0"
authors = ["Jeremy Soller <jeremy@system76.com>"] authors = ["Jeremy Soller <jeremy@system76.com>"]
edition = "2024" edition = "2024"
license = "GPL-3.0-only" license = "GPL-3.0-only"
@ -11,7 +11,7 @@ anyhow = "1"
jiff = "0.2" jiff = "0.2"
jiff-icu = "0.2" jiff-icu = "0.2"
icu = { version = "2.2.0", features = ["compiled_data"] } icu = { version = "2.2.0", features = ["compiled_data"] }
cctk = { git = "https://github.com/pop-os/cosmic-protocols", package = "cosmic-client-toolkit", rev = "c253ec1", optional = true } cctk = { git = "https://github.com/pop-os/cosmic-protocols", package = "cosmic-client-toolkit", rev = "32283d7", optional = true }
cosmic-mime-apps = { git = "https://github.com/pop-os/cosmic-mime-apps.git", optional = true } cosmic-mime-apps = { git = "https://github.com/pop-os/cosmic-mime-apps.git", optional = true }
dirs = "6.0.0" dirs = "6.0.0"
gio = { version = "0.21", optional = true } gio = { version = "0.21", optional = true }

View file

@ -1,6 +1,6 @@
[package] [package]
name = "cosmic-files-applet" name = "cosmic-files-applet"
version = "1.2.0" version = "1.6.0"
edition = "2024" edition = "2024"
[dependencies] [dependencies]

24
debian/changelog vendored
View file

@ -1,3 +1,27 @@
cosmic-files (1.6.0) noble; urgency=medium
* Epoch 1.6.0 version update
-- Jeremy Soller <jeremy@system76.com> Tue, 18 Aug 2026 07:13:48 -0600
cosmic-files (1.5.0) noble; urgency=medium
* Epoch 1.5.0 version update
-- Jeremy Soller <jeremy@system76.com> Tue, 28 Jul 2026 09:14:09 -0600
cosmic-files (1.4.0) noble; urgency=medium
* Epoch 1.4.0 version update
-- Jeremy Soller <jeremy@system76.com> Mon, 20 Jul 2026 14:36:06 -0600
cosmic-files (1.3.0) noble; urgency=medium
* Epoch 1.3.0 version update
-- Jeremy Soller <jeremy@system76.com> Sun, 12 Jul 2026 13:21:18 -0600
cosmic-files (1.2.0) noble; urgency=medium cosmic-files (1.2.0) noble; urgency=medium
* Epoch 1.2.0 version update * Epoch 1.2.0 version update

View file

@ -84,7 +84,7 @@ settings = الإعدادات
### Appearance ### Appearance
appearance = المظهر appearance = المظهر
theme = النسق theme = السمة
match-desktop = طابق سطح المكتب match-desktop = طابق سطح المكتب
dark = داكن dark = داكن
light = فاتح light = فاتح
@ -110,7 +110,7 @@ new-tab = لسان جديد
new-window = نافذة جديدة new-window = نافذة جديدة
rename = غيِّر الاسم... rename = غيِّر الاسم...
close-tab = أغلق اللسان close-tab = أغلق اللسان
quit = أنهِ quit = إنهِ
## Edit ## Edit
@ -147,7 +147,7 @@ icon-size-and-spacing = حجم الأيقونة والتباعد
icon-size = حجم الأيقونة icon-size = حجم الأيقونة
grid-spacing = تباعد شبكي grid-spacing = تباعد شبكي
trashed-on = مهمل trashed-on = مهمل
details = التفاصيل details = تفاصيل
pause = ألبث pause = ألبث
resume = استئناف resume = استئناف
create-archive = أنشئ أرشيف create-archive = أنشئ أرشيف
@ -383,3 +383,7 @@ context-action-confirm-warning =
*[other] عنصر *[other] عنصر
}. }.
run = شغِّل run = شغِّل
checksum = تدقيق المجموع { $kind }
calculate = احسب
error = خطأ
rename-confirm = أعد التسمية

View file

@ -77,7 +77,7 @@ name-no-slashes = El nom no pot contenir barres.
cancel = Cancel·lar cancel = Cancel·lar
create = Crea create = Crea
open = Obre open = Obre
open-file = Obre el fixer open-file = Obre el fitxer
open-folder = Obre la carpeta open-folder = Obre la carpeta
open-in-new-tab = Obre en una pestanya nova open-in-new-tab = Obre en una pestanya nova
open-in-new-window = Obre en una finestra nova open-in-new-window = Obre en una finestra nova

View file

@ -428,3 +428,6 @@ context-action-confirm-warning =
}. }.
run = Spustit run = Spustit
rename-confirm = Přejmenovat rename-confirm = Přejmenovat
checksum = Kontrolní součet { $kind }
calculate = Vypočítat
error = Chyba

View file

@ -1,35 +1,43 @@
cosmic-files = COSMIC Filer cosmic-files = COSMIC Filhåndtering
empty-folder = Tom mappe empty-folder = Tom mappe
empty-folder-hidden = Tom mappe (har skjulte filer) empty-folder-hidden = Tom mappe (har skjulte emner)
no-results = Ingen resultater no-results = Fandt ingen resultater
filesystem = Filsystem filesystem = Filsystem
home = Hjem home = Hjem
networks = Netværk networks = Netværk
notification-in-progress = Filoperationer er igangværende. notification-in-progress = Fil-operationer er igang.
trash = Skraldespand trash = Papirkurv
recents = Seneste recents = Seneste
undo = Fortryd undo = Fortryd
today = I dag today = I dag
# Desktop view options # Desktop view options
desktop-view-options = Indstillinger for skrivebordsudseende... desktop-view-options = Valgmuligheder for skrivebordsvisning...
show-on-desktop = Vis på Skrivebordet show-on-desktop = Vis på Skrivebord
desktop-folder-content = Indhold på Skrivebordet desktop-folder-content = Skrivebords-mappeindhold
mounted-drives = Monterede drev mounted-drives = Monterede drev
trash-folder-icon = Skraldespandsikon trash-folder-icon = Papirkurv-ikon
icon-size-and-spacing = Ikonstørrelse og afstand icon-size-and-spacing = Ikonstørrelse og -afstand
icon-size = Ikonstørrelse icon-size = Ikonstørrelse
# List view # List view
name = Navn name = Navn
modified = Ændret modified = Ændret
trashed-on = Smidt ud trashed-on = Kasseret
size = Størrelse size = Størrelse
# Progress footer # Progress footer
details = Detaljer details = Detaljer
dismiss = Afvis besked dismiss = Luk meddelelse
operations-running = { $running } operationer er i gang ({ $percent }%)... operations-running =
operations-running-finished = { $running } operationer er i gang ({ $percent }%), { $finished } færdiggjort... { $running } { $running ->
[one] operation
*[other] operationer
} kører ({ $percent }%)...
operations-running-finished =
{ $running } { $running ->
[one] operation
*[other] operationer
} kører ({ $percent }%), { $finished } færdig...
pause = Pause pause = Pause
resume = Fortsæt resume = Genoptag
# Dialogs # Dialogs
@ -40,12 +48,12 @@ create-archive = Opret arkiv
## Empty Trash Dialog ## Empty Trash Dialog
empty-trash = Tøm skraldespand empty-trash = Tøm papirkurv
empty-trash-warning = Er du sikker på du vil slette alle objekter i Skraldespanden permanent? empty-trash-warning = Emner i Papirkurv-mappen vil blive slettet permanent
## Mount Error Dialog ## Mount Error Dialog
mount-error = Kan ikke tilgå drev mount-error = Ude af stand til at tilgå drev
## New File/Folder Dialog ## New File/Folder Dialog
@ -53,22 +61,22 @@ create-new-file = Opret ny fil
create-new-folder = Opret ny mappe create-new-folder = Opret ny mappe
file-name = Filnavn file-name = Filnavn
folder-name = Mappenavn folder-name = Mappenavn
file-already-exists = En fil med det navn eksisterer allerede. file-already-exists = En fil med det navn eksisterer allerede
folder-already-exists = En mappe med det navn eksisterer allerede. folder-already-exists = En mappe med det navn eksisterer allerede
name-hidden = Navne begyndende med "." vil blive skjult. name-hidden = Navne begyndende med "." vil være skjulte
name-invalid = Navn kan ikke være "{ $filename }". name-invalid = Navn må ikke være "{ $filename }"
name-no-slashes = Navn kan ikke indeholde skråstreg. name-no-slashes = Navn må ikke indeholde skråstreger
## Open/Save Dialog ## Open/Save Dialog
cancel = Annullér cancel = Annuller
create = Opret create = Opret
open = Åbn open = Åbn
open-file = Åbn fil open-file = Åbn fil
open-folder = Åbn mappe open-folder = Åbn mappe
open-in-new-tab = Åbn i ny fane open-in-new-tab = Åbn i nyt faneblad
open-in-new-window = Åbn i nyt vindue open-in-new-window = Åbn i nyt vindue
open-item-location = Åbn placering for objekt open-item-location = Åbn emne-placering
open-multiple-files = Åbn flere filer open-multiple-files = Åbn flere filer
open-multiple-folders = Åbn flere mapper open-multiple-folders = Åbn flere mapper
save = Gem save = Gem
@ -87,20 +95,20 @@ rename-folder = Omdøb mappe
## Replace Dialog ## Replace Dialog
replace = Erstat replace = Erstat
replace-title = "{ $filename }" eksisterer allerede på denne placering. replace-title = "{ $filename }" eksisterer allerede i denne placering.
replace-warning = Vil du erstatte den med den du er ved at gemme? Hvis du erstatter den, overskriver du dens indhold. replace-warning = Ønsker du at erstatte den med den, du er ved at gemme? Erstatning af den vil overskrive dens indhold.
replace-warning-operation = Vil du erstatte den? Hvis du erstatter den, overskriver du dens indhold. replace-warning-operation = Ønsker du at erstatte den? Erstatning af den vil overskrive dens indhold.
original-file = Original fil original-file = Original fil
replace-with = Erstat med replace-with = Erstat med
apply-to-all = Anvend for alle apply-to-all = Anvend på alle
keep-both = Behold begge keep-both = Behold begge
skip = Spring over skip = Spring over
## Set as Executable and Launch Dialog ## Set as Executable and Launch Dialog
set-executable-and-launch = Indstil som eksekverbar fil og start set-executable-and-launch = Angiv som eksekverbar og start
set-executable-and-launch-description = Vil du indstille "{ $name }" som en eksekverbar fil og starte den? set-executable-and-launch-description = Vil du angive "{ $name }" som eksekverbar og starte den?
set-and-launch = Indstil og start set-and-launch = Angiv og start
## Metadata Dialog ## Metadata Dialog
@ -239,12 +247,12 @@ settings = Indstillinger
appearance = Udseende appearance = Udseende
theme = Tema theme = Tema
match-desktop = Match skrivebord match-desktop = Følg skrivebordets indstillinger
dark = Mørk dark = Mørkt
light = Lys light = Lyst
# Context menu # Context menu
add-to-sidebar = Tilføj til sidebjælke add-to-sidebar = Tilføj til sidebjælke
compress = Komprimér compress = Komprimer…
extract-here = Extract extract-here = Extract
new-file = Ny fil... new-file = Ny fil...
new-folder = Ny mappe... new-folder = Ny mappe...
@ -280,15 +288,15 @@ quit = Afslut
edit = Redigér edit = Redigér
cut = Klip cut = Klip
copy = Kopiér copy = Kopiér
paste = Sæt ind paste = Indsæt
select-all = Vælg alt select-all = Vælg alle
## View ## View
zoom-in = Zoom ind zoom-in = Zoom ind
default-size = Standardstørrelse default-size = Standardstørrelse
zoom-out = Zoom ud zoom-out = Zoom ud
view = Visning view = Vis
grid-view = Gitter-visning grid-view = Gitter-visning
list-view = Liste-visning list-view = Liste-visning
show-hidden-files = Vis skjulte filer show-hidden-files = Vis skjulte filer
@ -306,3 +314,102 @@ sort-newest-first = Nyeste først
sort-oldest-first = Ældste først sort-oldest-first = Ældste først
sort-smallest-to-largest = Mindste til største sort-smallest-to-largest = Mindste til største
sort-largest-to-smallest = Største til mindste sort-largest-to-smallest = Største til mindste
delete = Slet
run = Kør
repository = Pakkearkiv
grid-spacing = Gitter-afstand
extract-password-required = Adgangskode påkrævet
extract-to = Udpak Til...
extract-to-title = Udpak til mappe
empty-trash-title = Tøm papirkurv?
keywords = Mappe;Håndtering;
comment = Filhåndteringsprogram til COSMIC-skrivebordet
copy-to-title = Vælg kopi destination
copy-to-button-label = Kopier
move-to-title = Vælg flytte destination
move-to-button-label = Flyt
deleted =
Slettede { $items } { $items ->
[one] element
*[other] elementer
} fra papirkurven
removing-from-recents =
Fjerner { $items } { $items ->
[one] element
*[other] elementer
} fra { recents }
type-to-search-enter-path = Indtast stien til mappen eller filen
permanently-deleting =
Sletter permanent { $items } { $items ->
[one] element
*[other] elementer
}
execute-only = Kun kørsel
removed-from-recents =
Fjernede { $items } { $items ->
[one] element
*[other] elementer
} fra { recents }
permanently-deleted =
Slettede permanent { $items } { $items ->
[one] element
*[other] elementer
}
write-only = Kun skrivning
remove = Fjern
context-action = Konteksthandling
context-action-confirm-title = Kør “{ $name }”?
context-action-confirm-warning =
This will run on { $items } { $items ->
[one] item
*[other] items
}.
selected-items = De { $items } valgte elementer
mixed = Blandet
none = Ingen
write-execute = Skriv og kør
read-only = Kun læsning
read-execute = Læs og kør
read-write = Læs og skriv
read-write-execute = Læs, skriv og kør
keep = Behold
support = Support
progress-failed = { $percent } %, mislykkedes
pasted-image = Indsat billede
pasted-text = Indsat tekst
pasted-video = Indsat video
deleting =
Sletter { $items } { $items ->
[one] element
*[other] elementer
} fra { trash } ({ $progress })...
setting-permissions = Indstiller tilladelser for “{ $name }” til { $mode }
set-permissions = Sæt tilladelser for “{ $name }” til { $mode }
show-recents = Seneste-mappe i sidepanelet
type-to-search = Skriv for at søge
type-to-search-recursive = Søger i den aktuelle mappe og alle undermapper
type-to-search-select = Vælger den første matchende fil eller mappe
clear-recents-history = Ryd seneste historik
copy-to = Kopiér til…
delete-permanently = Slet permanent
eject = Skub ud
move-to = Flyt til…
remove-from-recents = Fjern fra seneste
reload-folder = Genindlæs mappe
copy-path = Kopiér sti
rename-confirm = Omdøb
calculate = Udregn
error = Fejl
checksum = { $kind }-kontrolsum
other-apps = Andre applikationer
related-apps = Relaterede applikationer
permanently-delete-question = Slet permanent?
permanently-delete-warning = { $target } vil blive slettet permanent. Denne handling kan ikke fortrydes.
open-with = Åbn med
favorite-path-error = Fejl ved åbning af sti
favorite-path-error-description =
Ude af stand til at åbne "{ $path }"
"{ $path }" Eksisterer muligvis ikke, eller du har måske ikketilladelse til at åbne den
Ønsker du at fjerne den fra sidebjælken?
single-click = Enkelt klik for at åbne

View file

@ -11,7 +11,7 @@ recents = Zuletzt verwendet
undo = Rückgängig undo = Rückgängig
today = Heute today = Heute
# Optionen für die Desktop-Ansicht # Optionen für die Desktop-Ansicht
desktop-view-options = Optionen für die Desktop-Ansicht… desktop-view-options = Optionen für die Desktop-Ansicht ...
show-on-desktop = Auf Desktop anzeigen show-on-desktop = Auf Desktop anzeigen
desktop-folder-content = Inhalt des Desktop-Ordners desktop-folder-content = Inhalt des Desktop-Ordners
mounted-drives = Eingehängte Laufwerke mounted-drives = Eingehängte Laufwerke
@ -31,12 +31,12 @@ operations-running =
{ $running } { $running -> { $running } { $running ->
[one] laufender Vorgang [one] laufender Vorgang
*[other] laufende Vorgänge *[other] laufende Vorgänge
} ({ $percent } %)... } ({ $percent } %) ...
operations-running-finished = operations-running-finished =
{ $running } { $running -> { $running } { $running ->
[one] laufender Vorgang [one] laufender Vorgang
*[other] laufende Vorgänge *[other] laufende Vorgänge
} ({ $percent } %), { $finished } abgeschlossen... } ({ $percent } %), { $finished } abgeschlossen ...
pause = Pause pause = Pause
resume = Fortsetzen resume = Fortsetzen
@ -50,7 +50,7 @@ create-archive = Archiv erstellen
## Entpacken-Dialog ## Entpacken-Dialog
extract-password-required = Passwort erforderlich extract-password-required = Passwort erforderlich
extract-to = Entpacken nach... extract-to = Entpacken nach ...
extract-to-title = In Ordner entpacken extract-to-title = In Ordner entpacken
## Dialog zum Leeren des Papierkorbs ## Dialog zum Leeren des Papierkorbs
@ -179,7 +179,7 @@ keep = Behalten
add-network-drive = Netzlaufwerk hinzufügen add-network-drive = Netzlaufwerk hinzufügen
connect = Verbinden connect = Verbinden
connect-anonymously = Anonym verbinden connect-anonymously = Anonym verbinden
connecting = Wird verbunden... connecting = Wird verbunden ...
domain = Domain domain = Domain
enter-server-address = Serveradresse eingeben enter-server-address = Serveradresse eingeben
network-drive-description = network-drive-description =
@ -218,7 +218,7 @@ compressing =
{ $items } { $items -> { $items } { $items ->
[one] Element wird [one] Element wird
*[other] Elemente werden *[other] Elemente werden
} von „{ $from }“ nach „{ $to }“ komprimiert ({ $progress })... } von „{ $from }“ nach „{ $to }“ komprimiert ({ $progress }) ...
compressed = compressed =
{ $items } { $items -> { $items } { $items ->
[one] Element wurde [one] Element wurde
@ -231,7 +231,7 @@ copying =
{ $items } { $items -> { $items } { $items ->
[one] Element wird [one] Element wird
*[other] Elemente werden *[other] Elemente werden
} von „{ $from }“ nach „{ $to }“ kopiert ({ $progress })... } von „{ $from }“ nach „{ $to }“ kopiert ({ $progress }) ...
copied = copied =
{ $items } { $items -> { $items } { $items ->
[one] Element wurde [one] Element wurde
@ -241,19 +241,19 @@ deleting =
{ $items } { $items -> { $items } { $items ->
[one] Element wird [one] Element wird
*[other] Elemente werden *[other] Elemente werden
} aus dem { trash } gelöscht ({ $progress })... } aus dem { trash } gelöscht ({ $progress }) ...
deleted = deleted =
{ $items } { $items -> { $items } { $items ->
[one] Element wurde [one] Element wurde
*[other] Elemente wurden *[other] Elemente wurden
} aus dem { trash } gelöscht } aus dem { trash } gelöscht
emptying-trash = { trash } wird geleert ({ $progress })... emptying-trash = { trash } wird geleert ({ $progress }) ...
emptied-trash = { trash } geleert emptied-trash = { trash } geleert
extracting = extracting =
{ $items } { $items -> { $items } { $items ->
[one] Element wird [one] Element wird
*[other] Elemente werden *[other] Elemente werden
} von „{ $from }“ nach „{ $to }“ entpackt ({ $progress })... } von „{ $from }“ nach „{ $to }“ entpackt ({ $progress }) ...
extracted = extracted =
{ $items } { $items -> { $items } { $items ->
[one] Element wurde [one] Element wurde
@ -267,7 +267,7 @@ moving =
{ $items } { $items -> { $items } { $items ->
[one] Element wird [one] Element wird
*[other] Elemente werden *[other] Elemente werden
} von „{ $from }“ nach „{ $to }“ verschoben ({ $progress })... } von „{ $from }“ nach „{ $to }“ verschoben ({ $progress }) ...
moved = moved =
{ $items } { $items -> { $items } { $items ->
[one] Element wurde [one] Element wurde
@ -289,7 +289,7 @@ restoring =
{ $items } { $items -> { $items } { $items ->
[one] Element wird [one] Element wird
*[other] Elemente werden *[other] Elemente werden
} aus dem { trash } wiederhergestellt ({ $progress })... } aus dem { trash } wiederhergestellt ({ $progress }) ...
restored = restored =
{ $items } { $items -> { $items } { $items ->
[one] Element wurde [one] Element wurde
@ -299,7 +299,7 @@ unknown-folder = unbekannter Ordner
## Öffnen mit ## Öffnen mit
menu-open-with = Öffnen mit... menu-open-with = Öffnen mit ...
default-app = { $name } (Standard) default-app = { $name } (Standard)
## Details anzeigen ## Details anzeigen
@ -311,7 +311,7 @@ item-size = Größe: { $size }
item-created = Erstellt: { $created } item-created = Erstellt: { $created }
item-modified = Geändert: { $modified } item-modified = Geändert: { $modified }
item-accessed = Zugegriffen: { $accessed } item-accessed = Zugegriffen: { $accessed }
calculating = Wird berechnet... calculating = Wird berechnet ...
## Einstellungen ## Einstellungen
@ -333,11 +333,11 @@ type-to-search-recursive = Durchsucht den aktuellen Ordner und alle Unterordner
type-to-search-enter-path = Gib den Pfad zum Verzeichnis oder zur Datei ein type-to-search-enter-path = Gib den Pfad zum Verzeichnis oder zur Datei ein
# Kontextmenü # Kontextmenü
add-to-sidebar = Zur Seitenleiste hinzufügen add-to-sidebar = Zur Seitenleiste hinzufügen
compress = Komprimieren... compress = Komprimieren ...
delete-permanently = Endgültig löschen delete-permanently = Endgültig löschen
extract-here = Entpacken extract-here = Entpacken
new-file = Neue Datei... new-file = Neue Datei ...
new-folder = Neuer Ordner... new-folder = Neuer Ordner ...
open-in-terminal = Im Terminal öffnen open-in-terminal = Im Terminal öffnen
move-to-trash = In den Papierkorb verschieben move-to-trash = In den Papierkorb verschieben
restore-from-trash = Aus dem Papierkorb wiederherstellen restore-from-trash = Aus dem Papierkorb wiederherstellen
@ -349,9 +349,9 @@ sort-by-trashed = Nach Löschzeitpunkt sortieren
## Desktop ## Desktop
change-wallpaper = Hintergrundbild ändern... change-wallpaper = Hintergrundbild ändern ...
desktop-appearance = Desktop-Aussehen... desktop-appearance = Desktop-Aussehen ...
display-settings = Anzeigeeinstellungen... display-settings = Anzeigeeinstellungen ...
# Menü # Menü
@ -362,7 +362,7 @@ file = Datei
new-tab = Neuer Tab new-tab = Neuer Tab
new-window = Neues Fenster new-window = Neues Fenster
reload-folder = Ordner neu laden reload-folder = Ordner neu laden
rename = Umbenennen... rename = Umbenennen ...
close-tab = Tab schließen close-tab = Tab schließen
quit = Beenden quit = Beenden
@ -385,8 +385,8 @@ list-view = Listenansicht
show-hidden-files = Versteckte Dateien anzeigen show-hidden-files = Versteckte Dateien anzeigen
list-directories-first = Verzeichnisse zuerst auflisten list-directories-first = Verzeichnisse zuerst auflisten
gallery-preview = Galerie-Vorschau gallery-preview = Galerie-Vorschau
menu-settings = Einstellungen... menu-settings = Einstellungen ...
menu-about = Über COSMIC Dateien... menu-about = Über COSMIC Dateien ...
## Sortieren ## Sortieren
@ -397,7 +397,7 @@ sort-newest-first = Neueste zuerst
sort-oldest-first = Älteste zuerst sort-oldest-first = Älteste zuerst
sort-smallest-to-largest = Von klein nach groß sort-smallest-to-largest = Von klein nach groß
sort-largest-to-smallest = Von groß nach klein sort-largest-to-smallest = Von groß nach klein
repository = Repository repository = Repositorium
empty-trash-title = Papierkorb leeren? empty-trash-title = Papierkorb leeren?
copy-to-title = Kopierziel auswählen copy-to-title = Kopierziel auswählen
copy-to-button-label = Kopieren copy-to-button-label = Kopieren
@ -418,7 +418,7 @@ type-to-search-select = Wählt die erste übereinstimmende Datei oder den ersten
pasted-image = Eingefügtes Bild pasted-image = Eingefügtes Bild
pasted-text = Eingefügter Text pasted-text = Eingefügter Text
pasted-video = Eingefügtes Video pasted-video = Eingefügtes Video
copy-to = Kopieren nach... copy-to = Kopieren nach ...
show-recents = Ordner zuletzt verwendeter Elemente in der Seitenleiste show-recents = Ordner zuletzt verwendeter Elemente in der Seitenleiste
clear-recents-history = Verlauf zuletzt verwendeter Elemente leeren clear-recents-history = Verlauf zuletzt verwendeter Elemente leeren
comment = Dateimanager für den COSMIC Desktop comment = Dateimanager für den COSMIC Desktop
@ -426,7 +426,7 @@ keywords = Ordner;Manager;
move-to-button-label = Verschieben move-to-button-label = Verschieben
move-to-title = Verschiebeziel auswählen move-to-title = Verschiebeziel auswählen
remove-from-recents = Aus den zuletzt verwendeten Elementen entfernen remove-from-recents = Aus den zuletzt verwendeten Elementen entfernen
move-to = Verschieben nach... move-to = Verschieben nach ...
copy-path = Pfad kopieren copy-path = Pfad kopieren
mixed = Gemischt mixed = Gemischt
context-action = Kontextaktion context-action = Kontextaktion
@ -438,3 +438,6 @@ context-action-confirm-warning =
}. }.
run = Ausführen run = Ausführen
rename-confirm = Umbenennen rename-confirm = Umbenennen
checksum = { $kind } Prüfsumme
calculate = Berechnen
error = Fehler

View file

@ -22,7 +22,7 @@ password = Κωδικός πρόσβασης
remove = Αφαίρεση remove = Αφαίρεση
create = Δημιουργία create = Δημιουργία
pause = Παύση pause = Παύση
quit = Έξοδος quit = Τερματισμός
calculating = Υπολογισμός... calculating = Υπολογισμός...
keep = Διατήρηση keep = Διατήρηση
edit = Επεξεργασία edit = Επεξεργασία
@ -328,3 +328,6 @@ context-action-confirm-warning =
*[other] στοιχεία *[other] στοιχεία
}. }.
rename-confirm = Μετονομασία rename-confirm = Μετονομασία
checksum = Άθροισμα ελέγχου { $kind }
calculate = Υπολογισμός
error = Σφάλμα

View file

@ -0,0 +1,100 @@
save = Save
quit = Quit
name = Name
delete = Delete
cancel = Cancel
run = Run
new-window = New window
theme = Theme
appearance = Appearance
light = Light
repository = Repository
support = Support
dark = Dark
match-desktop = Match desktop
settings = Settings
replace = Replace
file = File
zoom-in = Zoom in
select-all = Select all
zoom-out = Zoom out
default-size = Default size
edit = Edit
copy = Copy
paste = Paste
view = View
undo = Undo
cut = Cut
icon-size-and-spacing = Icon size and spacing
cosmic-files = COSMIC Files
trash = Rubbish
empty-folder-hidden = Empty folder (has hidden items)
no-results = No results found
empty-folder = Empty folder
menu-settings = Settings...
recents = Recents
mounted-drives = Mounted drives
filesystem = Filesystem
home = Home
desktop-view-options = Desktop view options...
show-on-desktop = Show on Desktop
trash-folder-icon = Bin folder icon
desktop-folder-content = Desktop folder content
networks = Networks
today = Today
notification-in-progress = File operations are in progress
comment = File manager for the COSMIC desktop
keywords = Folder;Manager;
size = Size
dismiss = Dismiss message
trashed-on = Binned
create-archive = Create archive
pause = Pause
resume = Resume
grid-spacing = Grid spacing
details = Details
operations-running-finished =
{ $running } { $running ->
[one] operation
*[other] operations
} running ({ $percent }%), { $finished } finished...
icon-size = Icon size
modified = Modified
operations-running =
{ $running } { $running ->
[one] operation
*[other] operations
} running ({ $percent }%)...
copy-to-title = Select copy destination
open-file = Open file
open-multiple-files = Open multiple files
create-new-folder = Create new folder
create = Create
other-apps = Other applications
open-multiple-folders = Open multiple folders
extract-to = Extract To...
create-new-file = Create new file
open-in-new-window = Open in new window
folder-name = Folder name
browse-store = Browse { $store }
open-item-location = Open item location
mount-error = Unable to access drive
open = Open
extract-to-title = Extract to folder
open-with-title = How do you want to open "{ $name }"?
extract-password-required = Password required
open-folder = Open folder
open-in-new-tab = Open in new tab
file-name = File name
save-file = Save file
file-already-exists = A file with that name already exists
name-hidden = Names starting with "." will be hidden
folder-already-exists = A folder with that name already exists
empty-trash = Empty bin
empty-trash-title = Empty bin?
name-no-slashes = Name cannot contain slashes
name-invalid = Name cannot be "{ $filename }"
copy-to-button-label = Copy
move-to-title = Select move destination
move-to-button-label = Move
context-action = Context action

View file

@ -345,3 +345,4 @@ sort-newest-first = جدیدترین در ابتدا
sort-oldest-first = قدیمی‌ترین در ابتدا sort-oldest-first = قدیمی‌ترین در ابتدا
sort-smallest-to-largest = کوچک‌ترین به بزرگ‌ترین sort-smallest-to-largest = کوچک‌ترین به بزرگ‌ترین
sort-largest-to-smallest = بزرگ‌ترین به کوچک‌ترین sort-largest-to-smallest = بزرگ‌ترین به کوچک‌ترین
run = اجرا

View file

@ -225,7 +225,7 @@ settings = Asetukset
appearance = Ulkoasu appearance = Ulkoasu
theme = Teema theme = Teema
match-desktop = Sovita työpöytään match-desktop = Sama kuin työpöytä
dark = Tumma dark = Tumma
light = Vaalea light = Vaalea
@ -415,3 +415,6 @@ context-action-confirm-warning =
}. }.
run = Suorita run = Suorita
rename-confirm = Nimeä uudelleen rename-confirm = Nimeä uudelleen
checksum = { $kind }-tarkistussumma
calculate = Laske
error = Virhe

View file

@ -80,14 +80,14 @@ cancel = Annuler
create = Créer create = Créer
open = Ouvrir open = Ouvrir
open-file = Ouvrir le fichier open-file = Ouvrir le fichier
open-folder = Ouvrir dossier open-folder = Ouvrir le dossier
open-in-new-tab = Ouvrir dans un nouvel onglet open-in-new-tab = Ouvrir dans un nouvel onglet
open-in-new-window = Ouvrir dans une nouvelle fenêtre open-in-new-window = Ouvrir dans une nouvelle fenêtre
open-item-location = Ouvrir l'emplacement de l'élément open-item-location = Ouvrir l'emplacement de l'élément
open-multiple-files = Ouvrir plusieurs fichiers open-multiple-files = Ouvrir plusieurs fichiers
open-multiple-folders = Ouvrir plusieurs dossiers open-multiple-folders = Ouvrir plusieurs dossiers
save = Enregistrer save = Enregistrer
save-file = Enregistrer fichier save-file = Enregistrer le fichier
## Open With Dialog ## Open With Dialog
@ -189,7 +189,7 @@ keep = Conserver
## Add Network Drive ## Add Network Drive
add-network-drive = Ajouter un lecteur réseau add-network-drive = Ajouter un lecteur réseau
connect = Connecter connect = Se connecter
connect-anonymously = Se connecter anonymement connect-anonymously = Se connecter anonymement
connecting = Connexion... connecting = Connexion...
domain = Domaine domain = Domaine
@ -206,8 +206,8 @@ network-drive-schemes =
File Transfer Protocol,ftp:// or ftps:// File Transfer Protocol,ftp:// or ftps://
Network File System,nfs:// Network File System,nfs://
Server Message Block,smb:// Server Message Block,smb://
SSH File Transfer Protocol,sftp:// or ssh:// SSH File Transfer Protocol,sftp:// ou ssh://
WebDav,dav:// or davs:// WebDAV,dav:// ou davs://
network-drive-error = Impossible d'accéder au lecteur réseau network-drive-error = Impossible d'accéder au lecteur réseau
password = Mot de passe password = Mot de passe
remember-password = Se souvenir du mot de passe remember-password = Se souvenir du mot de passe
@ -222,7 +222,7 @@ history = Historique
no-history = Aucun élément dans l'historique. no-history = Aucun élément dans l'historique.
pending = En attente pending = En attente
progress = { $percent }% progress = { $percent }%
progress-cancelled = { $percent }%, annulation progress-cancelled = { $percent }%, annulé
progress-paused = { $percent }%, en pause progress-paused = { $percent }%, en pause
failed = Échoué failed = Échoué
complete = Terminé complete = Terminé
@ -259,7 +259,7 @@ deleted =
[one] élément supprimé [one] élément supprimé
*[other] éléments supprimés *[other] éléments supprimés
} depuis { trash } } depuis { trash }
emptying-trash = { trash } en cours de nettoyage ({ $progress })... emptying-trash = Nettoyage en cours de { trash } ({ $progress })...
emptied-trash = { trash } vidée emptied-trash = { trash } vidée
extracting = extracting =
Extraction de { $items } { $items -> Extraction de { $items } { $items ->
@ -271,7 +271,7 @@ extracted =
[one] élément extrait [one] élément extrait
*[other] éléments extraits *[other] éléments extraits
} depuis "{ $from }" vers "{ $to }" } depuis "{ $from }" vers "{ $to }"
setting-executable-and-launching = Paramétrage de "{ $name }" comme exécutable et prêt à être lancé setting-executable-and-launching = Définition de "{ $name }" comme exécutable et lancement en cours
set-executable-and-launched = Défini "{ $name }" comme exécutable et lancé set-executable-and-launched = Défini "{ $name }" comme exécutable et lancé
moving = moving =
Déplacement de { $items } { $items -> Déplacement de { $items } { $items ->
@ -282,7 +282,7 @@ moved =
{ $items } { $items -> { $items } { $items ->
[one] élément déplacé [one] élément déplacé
*[other] éléments déplacés *[other] éléments déplacés
} de "{ $from }" à "{ $to }" } de "{ $from }" vers "{ $to }"
permanently-deleting = permanently-deleting =
Suppression définitive de { $items } { $items -> Suppression définitive de { $items } { $items ->
[one] élément [one] élément
@ -310,7 +310,7 @@ unknown-folder = Dossier inconnu
## Open with ## Open with
menu-open-with = Ouvrir avec... menu-open-with = Ouvrir avec...
default-app = { $name } (défaut) default-app = { $name } (par défaut)
## Show details ## Show details
@ -352,7 +352,7 @@ open-in-terminal = Ouvrir dans le terminal
edit-desktop-entry = Modifier le fichier .desktop edit-desktop-entry = Modifier le fichier .desktop
move-to-trash = Déplacer vers la corbeille move-to-trash = Déplacer vers la corbeille
restore-from-trash = Restaurer depuis la corbeille restore-from-trash = Restaurer depuis la corbeille
remove-from-sidebar = Supprimer de la barre latérale remove-from-sidebar = Retirer de la barre latérale
sort-by-name = Trier par nom sort-by-name = Trier par nom
sort-by-modified = Trier par date de modification sort-by-modified = Trier par date de modification
sort-by-size = Trier par taille sort-by-size = Trier par taille
@ -415,11 +415,11 @@ removing-from-recents =
*[other] éléments *[other] éléments
} de { recents } } de { recents }
other-apps = Autres applications other-apps = Autres applications
set-permissions = Définir les permissions pour "{ $name }" à { $mode } set-permissions = Permissions définies pour "{ $name }" à { $mode }
repository = Dépôt repository = Dépôt
support = Support support = Support
eject = Éjecter eject = Éjecter
remove-from-recents = Supprimer des récents remove-from-recents = Retirer des récents
empty-trash-title = Vider la corbeille ? empty-trash-title = Vider la corbeille ?
setting-permissions = Définition des permissions pour "{ $name }" à { $mode } setting-permissions = Définition des permissions pour "{ $name }" à { $mode }
removed-from-recents = removed-from-recents =
@ -428,9 +428,9 @@ removed-from-recents =
*[other] éléments supprimés *[other] éléments supprimés
} de { recents } } de { recents }
progress-failed = { $percent }%, échec progress-failed = { $percent }%, échec
type-to-search-select = Sélectionne le premier fichier ou dossier qui convient type-to-search-select = Sélectionne le premier fichier ou dossier correspondant
pasted-image = Image collée pasted-image = Image collée
pasted-text = Text collé pasted-text = Texte collé
pasted-video = Vidéo collée pasted-video = Vidéo collée
copy-to-title = Sélectionner la destination de la copie copy-to-title = Sélectionner la destination de la copie
copy-to-button-label = Copier copy-to-button-label = Copier
@ -453,3 +453,6 @@ context-action-confirm-warning =
run = Exécuter run = Exécuter
context-action = Action contextuelle context-action = Action contextuelle
rename-confirm = Renommer rename-confirm = Renommer
calculate = Calculer
error = Erreur
checksum = Somme de contrôle { $kind }

View file

@ -307,7 +307,7 @@ single-click = Cliceáil amháin le hoscailt
### Appearance ### Appearance
appearance = Cuma appearance = Dealramh
theme = Téama theme = Téama
match-desktop = Meaitseáil deasc match-desktop = Meaitseáil deasc
dark = Dorcha dark = Dorcha
@ -443,3 +443,6 @@ context-action-confirm-warning =
}. }.
run = Rith run = Rith
rename-confirm = Athainmnigh rename-confirm = Athainmnigh
checksum = { $kind } suim sheiceála
calculate = Ríomh
error = Earráid

333
i18n/gl/cosmic_files.ftl Normal file
View file

@ -0,0 +1,333 @@
name = Nome
save = Gardar
cancel = Cancelar
run = Executar
delete = Eliminar
repository = Repositorio
support = Soporte
settings = Axustes
appearance = Apariencia
theme = Tema
match-desktop = Axustar ao escritorio
dark = Escuro
light = Claro
replace = Remplazar
file = Ficheiro
new-window = Nova xanela
quit = Pechar
edit = Editar
undo = Desfacer
cut = Cortar
copy = Copiar
paste = Pegar
select-all = Seleccionar todo
view = Ver
zoom-in = Aumentar Zoom
default-size = Tamaño por defecto
zoom-out = Afastar Zoom
menu-settings = Axustes...
cosmic-files = Ficheiros COSMIC
comment = Xestor de ficheiros para o escritorio COSMIC
keywords = Cartafol;Xestor;
empty-folder = Cartafol baleiro
empty-folder-hidden = Cartafol baleiro (contén elementos agochados)
no-results = Non se atoparon resultados
filesystem = Sistema de ficheiros
home = Inicio
networks = Redes
notification-in-progress = Operacións de ficheiros en progreso
trash = Lixo
recents = Recentes
today = Hoxe
desktop-view-options = Axustes da vista do escritorio…
show-on-desktop = Amosar no Escritorio
desktop-folder-content = Contido do cartafol Escritorio
mounted-drives = Unidades montadas
trash-folder-icon = Icona do cartafol do Lixo
icon-size-and-spacing = Tamaño e espazado das iconas
icon-size = Tamaño de icona
grid-spacing = Espazado da grella
modified = Modificado
trashed-on = No lixo
size = Tamaño
details = Detalles
dismiss = Descartar a mensaxe
operations-running =
{ $running } { $executandose ->
[unha] operacion
*[outra] operacions
} executandose ({ $percent }%)...
operations-running-finished =
{ $running } { $executandose ->
[unha] operacion
*[outra] operacions
} executandose ({ $percent }%), { $finished } rematadas...
pause = Pausa
resume = Retomar
create-archive = Crear arquivo comprimido
copy-to-title = Seleccionar o destino da copia
copy-to-button-label = Copiar
extract-password-required = Contrasinal necesario
extract-to = Extraer en…
extract-to-title = Extraer a cartafol
empty-trash = Baleirar Lixo
empty-trash-title = Baleirar o lixo?
empty-trash-warning = Os elementos do cartafol do lixo eliminaranse de forma permanente
mount-error = Non é posible acceder a unidade
move-to-title = Seleccionar o destino do movemento
move-to-button-label = Mover
create-new-file = Crear un novo ficheiro
create-new-folder = Crear novo cartafol
file-name = Nome do ficheiro
folder-name = Nome do cartafol
file-already-exists = Existe un ficheiro co mesmo nome
folder-already-exists = Existe un cartafol co mesmo nome
name-hidden = Os nomes que comecen por "." agocharanse
name-invalid = O nome non pode ser "{ $filename }"
name-no-slashes = O nome non pode conter barras
create = Crear
open = Abrir
open-file = Abrir ficheiro
open-folder = Abrir cartafol
open-in-new-tab = Abrir nunha nova lapela
open-in-new-window = Abrir nunha nova xanela
open-item-location = Abrir ubicación do ítem
open-multiple-files = Abrir multiples ficheiros
open-multiple-folders = Abrir multiples cartafoles
save-file = Gardar ficheiro
open-with-title = Como queres abrir «{ $name }»?
browse-store = Atopar { $store }
other-apps = Outras aplicacións
related-apps = Aplicacións relacionadas
context-action = Acción contextual
context-action-confirm-title = Executar "{ $name }"?
context-action-confirm-warning =
Esto vaise executar en { $items } { $items ->
[un] item
*[outro] items
}.
selected-items = Os { $items } elementos seleccionados
permanently-delete-question = Eliminar permanentemente?
permanently-delete-warning = { $target } será eliminado permanentemente. Esta acción non se poderá desfacer.
rename-file = Renomear ficheiro
rename-folder = Renomear cartafol
rename-confirm = Renomear
replace-title = "{ $filename }" xa existe nesta ubicación
replace-warning = Queres substituílo polo que estás a gardar? Ao substituílo sobrescribirase o seu contido.
replace-warning-operation = Queres substituílo? Ao substituílo sobrescribirase o seu contido.
original-file = Ficheiro orixinal
replace-with = Remplazar con
apply-to-all = Aplicar a todo
keep-both = Manter ambos
skip = Saltar
set-executable-and-launch = Marcar como executable e lanzalo
set-executable-and-launch-description = Queres marcar «{ $name }» como executábel e lanzalo?
set-and-launch = Marcar e executar
open-with = Abrir con
owner = Propietario
group = Grupo
other = Outro
mixed = Mesturar
none = Ningún
execute-only = Só execución
write-only = Só escritura
write-execute = Escritura e execución
read-only = Só lectura
read-execute = Lectura e execución
read-write = Lectura e escritura
read-write-execute = Lectura, escritura e execución
favorite-path-error = Erro abrindo o directorio
favorite-path-error-description =
Non foi posíbel abrir «{ $path }».
É posíbel que «{ $path }» non exista ou que non teñas permisos para abrilo.
Queres retiralo da barra lateral?
remove = Eliminar
keep = Manter
add-network-drive = Engadir unidade de rede
connect = Conectar
connect-anonymously = Conectar de xeito anonimo
connecting = Conectando...
domain = Dominio
enter-server-address = Introducir a dirección do servidor
network-drive-description =
Os enderezos dos servidores inclúen un prefixo de protocolo e un enderezo.
Exemplos: ssh://192.168.0.1, ftp://[2001:db8::1]
network-drive-schemes =
Protocolos dispoñíbeis,Prefixo
AppleTalk,afp://
Protocolo de transferencia de ficheiros,ftp:// ou ftps://
Sistema de ficheiros en rede,nfs://
Server Message Block,smb://
Protocolo de transferencia de ficheiros por SSH,sftp:// ou ssh://
WebDAV,dav:// ou davs://
network-drive-error = Non foi posible acceder a unidade de rede
password = Contrasinal
remember-password = Recordar o contrasinal
try-again = Voltar a intentar
username = Nome de usuario
cancelled = Cancelado
edit-history = Editar historial
history = Historial
no-history = Non hai elementos no historial.
pending = Pendente
progress = { $percent }%
progress-cancelled = { $percent }%, cancelado
progress-failed = { $percent }%, fallou
progress-paused = { $percent }%, pausado
failed = Fallou
complete = Completado
compressing =
Comprimindo { $items } { $items ->
[one] elemento
*[other] elementos
} de «{ $from }» a «{ $to }» ({ $progress })...
compressed =
Comprimidos { $items } { $items ->
[one] elemento
*[other] elementos
} de «{ $from }» a «{ $to }»
copy_noun = Copiar
pasted-image = Imaxe pegada
pasted-text = Texto Pegado
pasted-video = Video pegado
creating = Creando "{ $name }" en "{ $parent }"
created = Creado "{ $name }" en "{ $parent }"
copying =
Copiando { $items } { $items ->
[one] elemento
*[other] elementos
} de «{ $from }» a «{ $to }» ({ $progress })...
copied =
Copiados { $items } { $items ->
[one] elemento
*[other] elementos
} de «{ $from }» a «{ $to }»
deleted =
Eliminando { $items } { $items ->
[one] elemento
*[other] elementos
} do lixo ({ $progress })
emptying-trash = Baleirando { trash } ({ $progress })...
emptied-trash = Baleirado o { trash }
extracting =
Extraendo { $items } { $items ->
[one] elemento
*[other] elementos
} de «{ $from }» a «{ $to }» ({ $progress })...
extracted =
Extraídos { $items } { $items ->
[one] elemento
*[other] elementos
} de «{ $from }» a «{ $to }»
setting-executable-and-launching = Marcando «{ $name }» como executábel e executándoo
set-executable-and-launched = «{ $name }» marcouse como executábel e executouse
setting-permissions = Establecendo os permisos de «{ $name }» en { $mode }
set-permissions = Establecéronse os permisos de «{ $name }» en { $mode }
moving =
Movendo { $items } { $items ->
[one] elemento
*[other] elementos
} de «{ $from }» a «{ $to }» ({ $progress })...
moved =
Movidos { $items } { $items ->
[one] elemento
*[other] elementos
} de «{ $from }» a «{ $to }»
permanently-deleting =
Eliminando permanentemente { $items } { $items ->
[one] elemento
*[other] elementos
}
permanently-deleted =
Eliminados permanentemente { $items } { $items ->
[one] elemento
*[other] elementos
}
removing-from-recents =
Retirando { $items } { $items ->
[one] elemento
*[other] elementos
} dos { recents }
removed-from-recents =
Retirado { $items } { $items ->
[one] elemento
*[other] elementos
} de { recents }
renaming = Renomeando "{ $from }" a "{ $to }"
renamed = Renomeado "{ $from }" a "{ $to }"
restoring =
Restaurando { $items } { $items ->
[one] elemento
*[other] elementos
} de { trash } ({ $progress })...
restored =
Restaurado { $items } { $items ->
[one] elemento
*[other] elementos
} de { trash }
unknown-folder = cartafol descoñecido
menu-open-with = Abrir con...
default-app = { $name } (por defecto)
show-details = Amosar detalles
type = Tipo: { $mime }
items = Elementos: { $items }
item-size = Tamaño: { $size }
item-created = Creado: { $created }
item-modified = Modificado: { $modified }
item-accessed = Accedido: { $accessed }
calculating = Calculando...
checksum = { $kind } checksum
calculate = Calculado
error = Erro
single-click = Clic único para abrir
show-recents = Cartafol de recentes no panel lateral
type-to-search = Escribe para atopar
type-to-search-recursive = Busca no cartafol actual e en todos os subcartafoles
type-to-search-enter-path = Introduce a ruta do cartafol ou ficheiro
type-to-search-select = Selecciona o primeiro ficheiro ou cartafol coincidente
add-to-sidebar = Engadir o panel lateral
clear-recents-history = Limpar historial de recentes
compress = Comprimir...
copy-to = Copiar a...
delete-permanently = Eliminar permanentemente
eject = Expulsar
extract-here = Extraer
new-file = Novo ficheiro...
new-folder = Novo cartafol...
open-in-terminal = Abrir no terminal
move-to = Mover a...
move-to-trash = Mover ao lixo
restore-from-trash = Recuperar do lixo
remove-from-sidebar = Eliminar do panel lateral
sort-by-name = Ordenar por nome
sort-by-modified = Ordenar por modificación
sort-by-size = Ordenar por tamaño
sort-by-trashed = Ordenar pola data de eliminación
remove-from-recents = Eliminar de recentes
change-wallpaper = Cambiar fondo de pantalla...
desktop-appearance = Apariencia do Escritorio...
display-settings = Axustes de pantalla...
new-tab = Nova lapela
reload-folder = Recargar cartafol
rename = Renomear...
close-tab = Pechar lapela
copy-path = Copiar ruta
grid-view = Vista de grella
list-view = Vista de lista
show-hidden-files = Amosar ficheiros ocultos
list-directories-first = Listar primeiro os directorios
gallery-preview = Vista previa da galería
menu-about = Sobre Ficheiros COSMIC...
sort = Ordenar
sort-a-z = A-Z
sort-z-a = Z-A
sort-newest-first = Novos primeiro
sort-oldest-first = Antigos primeiro
sort-smallest-to-largest = Do máis pequeno ao máis grande
sort-largest-to-smallest = Do máis grande ao máis pequeno
deleting =
Eliminando { $items } { $items ->
[one] elemento
*[other] elementos
} da { trash } ({ $progress })...

View file

@ -5,7 +5,7 @@ no-results = कोई परिणाम नहीं
filesystem = फाइल सिस्टम filesystem = फाइल सिस्टम
home = होम home = होम
networks = नेटवर्क्स networks = नेटवर्क्स
notification-in-progress = फाइल संचालन प्रगति पर है। notification-in-progress = फ़ाइल संचालन प्रगति पर हैं
trash = कचरा trash = कचरा
recents = हाल के recents = हाल के
undo = पूर्ववत करें undo = पूर्ववत करें
@ -33,8 +33,8 @@ create-archive = संग्रह बनाएँ
## Empty Trash Dialog ## Empty Trash Dialog
empty-trash = कचरा खाली करें empty-trash = रद्दी साफ़ करें
empty-trash-warning = क्या आप वाकई कचरे में सभी आइटमों को स्थायी रूप से हटाना चाहते हैं? empty-trash-warning = रद्दी फ़ोल्डर में मौजूद आइटम स्थायी रूप से हटा दिए जाएंगे
## New File/Folder Dialog ## New File/Folder Dialog
@ -42,11 +42,11 @@ create-new-file = नई फाइल बनाएँ
create-new-folder = नया फ़ोल्डर बनाएँ create-new-folder = नया फ़ोल्डर बनाएँ
file-name = फाइल का नाम file-name = फाइल का नाम
folder-name = फ़ोल्डर का नाम folder-name = फ़ोल्डर का नाम
file-already-exists = इसी नाम की फाइल पहले से मौजूद है। file-already-exists = उस नाम की फ़ाइल पहले से मौजूद है
folder-already-exists = इसी नाम का फ़ोल्डर पहले से मौजूद है। folder-already-exists = उस नाम का फ़ोल्डर पहले से मौजूद है
name-hidden = "." से शुरू होने वाले नाम छिपे रहेंगे। name-hidden = "." से शुरू होने वाले नाम छिपे होंगे
name-invalid = नाम "{ $filename }" मान्य नहीं है। name-invalid = नाम "{ $filename }" नहीं हो सकता
name-no-slashes = नाम में स्लैश का उपयोग नहीं किया जा सकता है। name-no-slashes = नाम में स्लैश नहीं हो सकते
## Open/Save Dialog ## Open/Save Dialog
@ -75,8 +75,8 @@ rename-folder = फ़ोल्डर का नाम बदलें
## Replace Dialog ## Replace Dialog
replace = प्रतिस्थापित करें replace = बदलें
replace-title = { $filename } पहले से इस स्थान पर मौजूद है। replace-title = { $filename } पहले से इस स्थान पर मौजूद है
replace-warning = क्या आप इसे प्रतिस्थापित करना चाहते हैं? यदि प्रतिस्थापित किया गया, तो मौजूदा फ़ाइल को ओवरराइट किया जाएगा। replace-warning = क्या आप इसे प्रतिस्थापित करना चाहते हैं? यदि प्रतिस्थापित किया गया, तो मौजूदा फ़ाइल को ओवरराइट किया जाएगा।
replace-warning-operation = क्या आप इसे बदलना चाहते हैं? प्रतिस्थापित करने पर मौजूदा फ़ाइल ओवरराइट हो जाएगी। replace-warning-operation = क्या आप इसे बदलना चाहते हैं? प्रतिस्थापित करने पर मौजूदा फ़ाइल ओवरराइट हो जाएगी।
original-file = मूल फ़ाइल original-file = मूल फ़ाइल
@ -211,13 +211,13 @@ show-details = विवरण दिखाएँ
## Settings ## Settings
settings = सेटिंग settings = सेटिंग्स
### Appearance ### Appearance
appearance = रूप appearance = रुप-रंग
theme = थीम theme = प्रसंग
match-desktop = सिस्टम सेटिंग्स से मेल खाएँ match-desktop = डेस्कटॉप से मेल खाएँ
dark = डार्क dark = डार्क
light = लाइट light = लाइट
# Context menu # Context menu
@ -251,27 +251,27 @@ new-tab = नया टैब
new-window = नई विंडो new-window = नई विंडो
rename = नाम बदलें... rename = नाम बदलें...
close-tab = टैब बंद करें close-tab = टैब बंद करें
quit = बंद करें quit = बाहर जाएँ
## Edit ## Edit
edit = संपादित करें edit = संपादन
cut = कट करें cut = काटें
copy = नकल करें copy = कॉपी करें
paste = चिपकाएँ paste = चिपकाएँ
select-all = सभी चुनें select-all = सभी चुनें
## View ## View
zoom-in = ज़ूम इन करें zoom-in = बड़ा करें
default-size = डिफ़ॉल्ट आकार default-size = मूल आकार
zoom-out = ज़ूम आउट करें zoom-out = छोटा करें
view = दृश्य view = दृश्य
grid-view = ग्रिड दृश्य grid-view = ग्रिड दृश्य
list-view = सूची दृश्य list-view = सूची दृश्य
show-hidden-files = छिपी हुई फाइलें दिखाएँ show-hidden-files = छिपी हुई फाइलें दिखाएँ
list-directories-first = सबसे पहले डाइरेक्ट्री दिखाएँ list-directories-first = सबसे पहले डाइरेक्ट्री दिखाएँ
menu-settings = सेटिंग्स... menu-settings = सेटिंग्स..।
menu-about = कॉस्मिक फाइल्स के बारे में... menu-about = कॉस्मिक फाइल्स के बारे में...
## Sort ## Sort
@ -284,4 +284,98 @@ sort-oldest-first = पुराने से नए
sort-smallest-to-largest = छोटे से बड़े sort-smallest-to-largest = छोटे से बड़े
sort-largest-to-smallest = बड़े से छोटे sort-largest-to-smallest = बड़े से छोटे
repository = रिपॉजिटरी repository = रिपॉजिटरी
support = सहायता support = समर्थन
read-execute = पढ़ें और निष्पादित करें
deleted =
{ trash } से { $items } { $items ->
[one] आइटम मिटाया गया
*[other] आइटम मिटाए गए
}
dismiss = संदेश खारिज करें
favorite-path-error = निर्देशिका खोलने में त्रुटि
progress = { $percent }%
related-apps = संबंधित ऐप्स
removing-from-recents =
{ recents } से { $items } { $items ->
[one] आइटम हटाया जा रहा है
*[other] आइटम हटाए जा रहे हैं
}
remove = हटाएँ
read-write-execute = पढ़ें, लिखें और निष्पादित करें
other-apps = अन्य ऐप्स
pause = विराम
keep = रखें
permanently-deleting =
{ $items } { $items ->
[one] आइटम स्थायी रूप से मिटाया जा रहा है
*[other] आइटम स्थायी रूप से मिटाए जा रहे हैं
}
read-write = पढ़ें और लिखें
none = कोई नहीं
resume = फिर से शुरू करें
grid-spacing = ग्रिड स्पेसिंग
extract-to = इस रूप में निकालें..।
delete = हटाएं
read-only = केवल पढ़ने के लिए
deleting =
{ trash } से { $items } { $items ->
[one] आइटम मिटाया जा रहा है
*[other] आइटम मिटाए जा रहे हैं
} ({ $progress })..।
execute-only = केवल निष्पादित करें
details = विवरण
mount-error = ड्राइव तक पहुँचने में असमर्थ
removed-from-recents =
{ recents } से { $items } { $items ->
[one] आइटम हटाया गया
*[other] आइटम हटाए गए
}
progress-paused = { $percent }%, रुका हुआ
cancelled = रद्द किया गया
operations-running-finished =
{ $running } { $running ->
[one] ऑपरेशन
*[other] ऑपरेशन
} चल रहा है ({ $percent }%), { $finished } समाप्त..।
progress-failed = { $percent }%, विफल
extract-to-title = फ़ोल्डर में निकालें
open-with = इससे खोलें
permanently-deleted =
{ $items } { $items ->
[one] आइटम स्थायी रूप से मिटाया गया
*[other] आइटम स्थायी रूप से मिटाए गए
}
write-execute = लिखें और निष्पादित करें
extract-password-required = पासवर्ड आवश्यक है
progress-cancelled = { $percent }%, रद्द किया गया
write-only = केवल लिखने के लिए
permanently-delete-warning = { $target } को स्थाई रूप से हटा दिया जाएगा। इस कार्रवाई को पूर्ववत नहीं किया जा सकता है।
favorite-path-error-description =
"{ $path }" को खोला नहीं जा सकता
"{ $path }" मौजूद नहीं हो सकता है या आपके पास इसे खोलने की अनुमति नहीं हो सकती है
क्या आप इसे साइडबार से हटाना चाहते हैं?
empty-trash-title = रद्दी साफ़ करें?
permanently-delete-question = स्थाई रूप से हटाएं?
operations-running =
{ $running } { $running ->
[one] ऑपरेशन
*[other] ऑपरेशन
} चल रहा है ({ $percent }%)..।
copy-to-title = कॉपी गंतव्य चुनें
copy-to-button-label = कॉपी
move-to-title = मूव गंतव्य चुनें
move-to-button-label = मूव
context-action = संदर्भ क्रिया
context-action-confirm-title = "{ $name }" चलाएँ?
context-action-confirm-warning =
यह { $items } { $items ->
[one] आइटम
*[other] आइटम
} पर चलेगा।
run = चलाएँ
rename-confirm = नाम बदलें
mixed = मिश्रित
pasted-image = चिपकाई गई छवि
pasted-text = चिपकाया गया पाठ
pasted-video = चिपकाया गया वीडियो

View file

@ -326,7 +326,7 @@ default-app = { $name } (alapértelmezett)
show-details = Részletek megjelenítése show-details = Részletek megjelenítése
type = Típus: { $mime } type = Típus: { $mime }
items = Elemek: { $items } items = Elemek száma: { $items }
item-size = Méret: { $size } item-size = Méret: { $size }
item-created = Létrehozva: { $created } item-created = Létrehozva: { $created }
item-modified = Módosítva: { $modified } item-modified = Módosítva: { $modified }
@ -446,3 +446,6 @@ context-action-confirm-warning =
} fog lefutni. } fog lefutni.
run = Futtatás run = Futtatás
rename-confirm = Átnevezés rename-confirm = Átnevezés
checksum = { $kind } ellenőrzőösszeg
calculate = Számítás
error = Hiba

View file

@ -249,7 +249,7 @@ settings = Pengaturan
single-click = Klik sekali untuk membuka single-click = Klik sekali untuk membuka
appearance = Tampilan appearance = Tampilan
theme = Tema theme = Tema
match-desktop = Cocokkan desktop match-desktop = Cocok desktop
dark = Gelap dark = Gelap
light = Terang light = Terang
type-to-search = Ketik untuk mencari type-to-search = Ketik untuk mencari
@ -328,3 +328,6 @@ context-action-confirm-warning =
*[other] item *[other] item
}. }.
rename-confirm = Ganti nama rename-confirm = Ganti nama
checksum = { $kind } checksum
calculate = Hitung
error = Galat

View file

@ -1,5 +1,5 @@
cosmic-files = COSMIC Files cosmic-files = COSMIC Files
comment = File manager di COSMIC comment = File manager per il desktop COSMIC
keywords = File;Archivi;Cartelle;Explorer; keywords = File;Archivi;Cartelle;Explorer;
empty-folder = Cartella vuota empty-folder = Cartella vuota
empty-folder-hidden = Cartella vuota (con elementi nascosti) empty-folder-hidden = Cartella vuota (con elementi nascosti)
@ -7,7 +7,7 @@ no-results = Nessun risultato trovato
filesystem = Filesystem filesystem = Filesystem
home = Home home = Home
networks = Reti networks = Reti
notification-in-progress = Operazioni sui file in corso. notification-in-progress = Operazioni sui file in corso
trash = Cestino trash = Cestino
recents = Recenti recents = Recenti
undo = Annulla undo = Annulla
@ -322,7 +322,7 @@ single-click = Click singolo per aprire
appearance = Aspetto appearance = Aspetto
theme = Tema theme = Tema
match-desktop = Sistema match-desktop = Abbina al desktop
dark = Scuro dark = Scuro
light = Chiaro light = Chiaro
@ -422,3 +422,4 @@ removed-from-recents =
[one] elemento [one] elemento
*[other] elementi *[other] elementi
} da { recents } } da { recents }
run = Esegui

View file

@ -22,7 +22,7 @@ name = Аты
modified = Өзгертілген modified = Өзгертілген
trashed-on = Қоқыс шелегіне тасталған trashed-on = Қоқыс шелегіне тасталған
size = Өлшемі size = Өлшемі
details = Ақпараты details = Толық ақпарат
dismiss = Хабарламаны елемеу dismiss = Хабарламаны елемеу
operations-running = operations-running =
{ $running } { $running -> { $running } { $running ->
@ -246,10 +246,10 @@ item-accessed = Қол жеткізілген: { $accessed }
calculating = Есептеу... calculating = Есептеу...
settings = Баптаулар settings = Баптаулар
single-click = Ашу үшін бір рет шерту single-click = Ашу үшін бір рет шерту
appearance = Сыртқы түрі appearance = Сыртқы көрініс
theme = Тақырып theme = Тема
match-desktop = Жұмыс үстеліне сәйкес келу match-desktop = Жұмыс үстеліне сәйкес болу
dark = Күңгірт dark = Қою
light = Ашық light = Ашық
type-to-search = Іздеу үшін теру type-to-search = Іздеу үшін теру
type-to-search-recursive = Ағымдағы бума мен барлық ішкі бумаларды іздейді type-to-search-recursive = Ағымдағы бума мен барлық ішкі бумаларды іздейді
@ -328,3 +328,6 @@ context-action-confirm-warning =
}. }.
run = Орындау run = Орындау
rename-confirm = Атын өзгерту rename-confirm = Атын өзгерту
checksum = { $kind } бақылау сомасы
calculate = Есептеу
error = Қате

View file

@ -30,10 +30,10 @@ new-window = Çarçoveya nû
remove = Rake remove = Rake
zoom-out = Dûr bike zoom-out = Dûr bike
compressing = compressing =
{ $items } tê guvaştin { $items -> { $items } { $items ->
[one] hêman [one] hêman
*[other] hêman *[other] hêman
} ji "{ $from }" bo "{ $to }" ({ $progress })... } tê guvaştin ji "{ $from }" bo "{ $to }" ({ $progress })...
move-to-trash = Bilivîne bo jêbirdankê move-to-trash = Bilivîne bo jêbirdankê
menu-about = Derbarê Pelên COSMIC... menu-about = Derbarê Pelên COSMIC...
file-already-exists = Pelek bi heman navî jixwe heye file-already-exists = Pelek bi heman navî jixwe heye
@ -42,10 +42,10 @@ open-multiple-files = Gelek pelan veke
default-size = Mezinahiya berdest default-size = Mezinahiya berdest
name-hidden = Navên ku bi "." tê destpêkirin wê werin veşartin name-hidden = Navên ku bi "." tê destpêkirin wê werin veşartin
extracted = extracted =
{ $items } hate derxistin { $items -> { $items } { $items ->
[one] hêman [one] hêman
*[other] hêman *[other] hêman
} ji "{ $from }" bo "{ $to }" } hate derxistin ji "{ $from }" bo "{ $to }"
create-new-folder = Peldanka nû biafrîne create-new-folder = Peldanka nû biafrîne
folder-already-exists = Peldankek bi heman navî jixwe heye folder-already-exists = Peldankek bi heman navî jixwe heye
create-archive = Erşîvê biafrîne create-archive = Erşîvê biafrîne
@ -79,10 +79,10 @@ none = Ne yek
no-results = Tu encam nehatin dîtin no-results = Tu encam nehatin dîtin
theme = Rûkar theme = Rûkar
compressed = compressed =
{ $items } hate guvaştin{ $items -> { $items } { $items ->
[one] hêman [one] hêman
*[other] hêman *[other] hêman
} ji "{ $from }" bo "{ $to }" } hate guvaştin ji "{ $from }" bo "{ $to }"
appearance = Xuyang appearance = Xuyang
rename-folder = Navê peldankê biguherîne rename-folder = Navê peldankê biguherîne
new-file = Pela nû... new-file = Pela nû...
@ -95,20 +95,20 @@ light = Ronî
extract-to = Derxîne bo... extract-to = Derxîne bo...
add-network-drive = Ajokarê torê tevlî bike add-network-drive = Ajokarê torê tevlî bike
copying = copying =
{ $items } tê jêgirtin{ $items -> { $items } { $items ->
[one] hêman [one] hêman
*[other] hêman *[other] hêman
} ji "{ $from }" bo "{ $to }" ({ $progress })... } tê jêgirtin ji "{ $from }" bo "{ $to }" ({ $progress })...
create-new-file = Pelê nû biafrîne create-new-file = Pelê nû biafrîne
sort-by-trashed = Li gorî demê rêz bike sort-by-trashed = Li gorî demê rêz bike
support = Piştgirî support = Piştgirî
try-again = Dîsa hewl bide try-again = Dîsa hewl bide
eject = Biavêje eject = Biavêje
copied = copied =
{ $items } hate jêgirtin { $items -> { $items } { $items ->
[one] hêman [one] hêman
*[other] hêman *[other] hêman
} ji "{ $from }" bo "{ $to }" } hate jêgirtin ji "{ $from }" bo "{ $to }"
open-in-new-window = Di çarçoveyeke nû de veke open-in-new-window = Di çarçoveyeke nû de veke
empty-folder = Peldanka vala empty-folder = Peldanka vala
empty-trash = Jêbirdankê vala bike empty-trash = Jêbirdankê vala bike
@ -121,10 +121,10 @@ paste = Pêve bike
empty-trash-title = Jêbirdankê vala bike? empty-trash-title = Jêbirdankê vala bike?
menu-settings = Sazkarî... menu-settings = Sazkarî...
moving = moving =
{ $items } tê livandin{ $items -> { $items } { $items ->
[one] hêman [one] hêman
*[other] hêman *[other] hêman
} ji "{ $from }" bo "{ $to }" ({ $progress })... } tê livandin ji "{ $from }" bo "{ $to }" ({ $progress })...
change-wallpaper = Wêneyê dîwêr biguhêrîne... change-wallpaper = Wêneyê dîwêr biguhêrîne...
network-drive-description = network-drive-description =
Di nav navnîşanên rajekarê de pêşgira protokolekê û navnîşanek heye. Di nav navnîşanên rajekarê de pêşgira protokolekê û navnîşanek heye.
@ -158,8 +158,8 @@ progress-paused = { $percent }%, hate rawestandin
desktop-view-options = Vebijêrkên dîtina sermaseyê... desktop-view-options = Vebijêrkên dîtina sermaseyê...
show-on-desktop = Li ser sermaseyê nîşan bide show-on-desktop = Li ser sermaseyê nîşan bide
cancelled = Têkbirî cancelled = Têkbirî
new-folder = Peldankan nû... new-folder = Peldanka nû...
match-desktop = Li gorî sermaseyê match-desktop = Bi sermaseyê re li hev bîne
name-no-slashes = Nav nabe ku "/" tê de hebe name-no-slashes = Nav nabe ku "/" tê de hebe
operations-running-finished = operations-running-finished =
{ $running } { $running -> { $running } { $running ->
@ -175,10 +175,10 @@ extract-to-title = Derxîne bo peldankê
icon-size = Mezinahiya îkonê icon-size = Mezinahiya îkonê
open-with-title = Tu çawa dixwazî "{ $name }" vekî? open-with-title = Tu çawa dixwazî "{ $name }" vekî?
extracting = extracting =
{ $items } tê derxistin { $items -> { $items } { $items ->
[one] hêman [one] hêman
*[other] hêman *[other] hêman
} ji "{ $from }" bo"{ $to }" ({ $progress })... } tê derxistin ji "{ $from }" bo"{ $to }" ({ $progress })...
settings = Sazkarî settings = Sazkarî
complete = Qediya complete = Qediya
permanently-delete-question = Bi mayînde jê bibe? permanently-delete-question = Bi mayînde jê bibe?
@ -193,10 +193,10 @@ sort-largest-to-smallest = Mezintir bo biçûktir
restore-from-trash = Ji jêbirdankê vegerîne restore-from-trash = Ji jêbirdankê vegerîne
cut = Jê bike cut = Jê bike
moved = moved =
{ $items } hate livandin { $items -> { $items } { $items ->
[one] hêman [one] hêman
*[other] hêman *[other] hêman
} ji "{ $from }" bo "{ $to }" } hate livandin ji "{ $from }" bo "{ $to }"
progress-cancelled = { $percent }%, hat têkbirin progress-cancelled = { $percent }%, hat têkbirin
open-in-new-tab = Di rûgerê nû de veke open-in-new-tab = Di rûgerê nû de veke
file = Pel file = Pel
@ -220,7 +220,7 @@ trash = Jêbirdank
undo = Vegerîne undo = Vegerîne
today = Îro today = Îro
name = Nav name = Nav
modified = Guhertî modified = Guhertin
size = Mezinahî size = Mezinahî
details = Hûrgilî details = Hûrgilî
pause = Rawestîne pause = Rawestîne
@ -229,7 +229,7 @@ copy-to-title = Rêgeha jêgirtinê hilbijêre
copy-to-button-label = Jê bigire copy-to-button-label = Jê bigire
move-to-title = Rêgeha livandinê hilbijêre move-to-title = Rêgeha livandinê hilbijêre
move-to-button-label = Bilivîne move-to-button-label = Bilivîne
create = Biafrîne create = Afirandin
save = Tomar bike save = Tomar bike
context-action = Çalakiya naverokê context-action = Çalakiya naverokê
context-action-confirm-title = "{ $name }" bixebtîne? context-action-confirm-title = "{ $name }" bixebtîne?
@ -263,7 +263,7 @@ restoring =
} ji { trash } ({ $progress })... } ji { trash } ({ $progress })...
icon-size-and-spacing = Mezinahiya îkonan û valahiya di navbera wan de icon-size-and-spacing = Mezinahiya îkonan û valahiya di navbera wan de
type-to-search-enter-path = Riya rêgehê yan jî pelê têdixîne type-to-search-enter-path = Riya rêgehê yan jî pelê têdixîne
menu-open-with = Veke bi... menu-open-with = Veke bi riya...
original-file = Pelê resen original-file = Pelê resen
read-write-execute = Xwendin, nivîsandin û xebitandin read-write-execute = Xwendin, nivîsandin û xebitandin
calculating = Tê jimartin... calculating = Tê jimartin...
@ -311,7 +311,7 @@ restored =
domain = Navper domain = Navper
sort = Rêz bike sort = Rêz bike
item-accessed = Gihîştin: { $accessed } item-accessed = Gihîştin: { $accessed }
open-with = Veke bi open-with = Veke bi riya
keep-both = Herduyan bihêle keep-both = Herduyan bihêle
permanently-deleted = permanently-deleted =
{ $items } bi mayînde hate jêbirin{ $items -> { $items } bi mayînde hate jêbirin{ $items ->
@ -328,3 +328,6 @@ write-only = Tenê nivîsandin
trashed-on = Li Jêbirdankê hatiye avêtin trashed-on = Li Jêbirdankê hatiye avêtin
mixed = Tevlihev mixed = Tevlihev
type-to-search-select = Pel an peldanka yekem a lihevhatî hildibijêre type-to-search-select = Pel an peldanka yekem a lihevhatî hildibijêre
calculate = Bijmêre
error = Şaşetî
checksum = Tevahiya { $kind } kontrol bike

View file

@ -278,3 +278,12 @@ move-to-button-label = 이동
clear-recents-history = 최근 기록 비우기 clear-recents-history = 최근 기록 비우기
copy-path = 복사 경로 copy-path = 복사 경로
move-to-title = 이동 위치 선택 move-to-title = 이동 위치 선택
copy-to-title = 복사 경로 선택
run = 실행
rename-confirm = 이름 변경
mixed = 혼합됨
pasted-image = 붙여넣은 이미지
pasted-text = 붙여넣은 텍스트
pasted-video = 붙여넣은 영상
copy-to = 복사하기...
move-to = 이동하기...

View file

@ -244,7 +244,7 @@ item-created = Sukurtas: { $created }
item-modified = Modifikuota: { $modified } item-modified = Modifikuota: { $modified }
item-accessed = Paskutinė prieiga: { $accessed } item-accessed = Paskutinė prieiga: { $accessed }
calculating = Skaičiuojama... calculating = Skaičiuojama...
settings = Nuostatos settings = Nuostatai
single-click = Vieno paspaudimo atidarymas single-click = Vieno paspaudimo atidarymas
appearance = Išvaizda appearance = Išvaizda
match-desktop = Pagal darbalaukio temą match-desktop = Pagal darbalaukio temą
@ -276,7 +276,7 @@ new-window = Naujas langas
reload-folder = Perkrauti aplanką reload-folder = Perkrauti aplanką
rename = Pervadinti... rename = Pervadinti...
close-tab = Uždaryti skirtuką close-tab = Uždaryti skirtuką
quit = Išeiti quit = Išjungti
edit = Redaguoti edit = Redaguoti
cut = Iškirpti cut = Iškirpti
copy = Kopijuoti copy = Kopijuoti
@ -291,7 +291,7 @@ list-view = Sąrašo išdėstymas
show-hidden-files = Rodyti paslėptus failus show-hidden-files = Rodyti paslėptus failus
list-directories-first = Pirmiau pateikti aplankus list-directories-first = Pirmiau pateikti aplankus
gallery-preview = Galerijos peržiūra gallery-preview = Galerijos peržiūra
menu-settings = Nuostatos... menu-settings = Nuostatai...
menu-about = Apie COSMIC Files... menu-about = Apie COSMIC Files...
sort = Rikiuoti sort = Rikiuoti
sort-a-z = A-Ž sort-a-z = A-Ž
@ -318,3 +318,9 @@ copy-to = Kopijuoti į...
move-to = Perkeltiį į... move-to = Perkeltiį į...
copy-path = Kopijuoti kelią copy-path = Kopijuoti kelią
theme = Stilius theme = Stilius
context-action = Konteksto veiksmas
context-action-confirm-title = Paleisti „{ $name }“?
run = Paleisti
rename-confirm = Pervadinti
calculate = Skaičiuoti
error = Klaida

View file

@ -425,7 +425,7 @@ removed-from-recents =
} uit { recents } verwijderd } uit { recents } verwijderd
remove-from-recents = Uit recente verwijderen remove-from-recents = Uit recente verwijderen
type-to-search-select = Dit selecteert het eerst overeenkomende bestand of map type-to-search-select = Dit selecteert het eerst overeenkomende bestand of map
comment = Bestandsbeheerder voor COSMIC desktop comment = Bestandsbeheerder voor COSMIC
copy-to-title = Kopieerbestemming aanwijzen copy-to-title = Kopieerbestemming aanwijzen
copy-to-button-label = Kopiëren copy-to-button-label = Kopiëren
move-to-button-label = Verplaatsen move-to-button-label = Verplaatsen

View file

@ -0,0 +1,6 @@
appearance = Aparéncia
theme = Tèma
match-desktop = Assortir al burèu
dark = Fosc
light = Clar
file = Fichièr

View file

@ -146,7 +146,7 @@ new-tab = ਨਵੀਂ ਟੈਬ
new-window = ਨਵੀਂ ਵਿੰਡੋ new-window = ਨਵੀਂ ਵਿੰਡੋ
rename = ਨਾਂ ਨੂੰ ਬਦਲੋ... rename = ਨਾਂ ਨੂੰ ਬਦਲੋ...
close-tab = ਟੈਬ ਨੂੰ ਬੰਦ ਕਰੋ close-tab = ਟੈਬ ਨੂੰ ਬੰਦ ਕਰੋ
quit = ਬਾਹਰ quit = ਸਮਾਪਤ
edit = ਸੋਧੋ edit = ਸੋਧੋ
cut = ਕੱਟੋ cut = ਕੱਟੋ
copy = ਕਾਪੀ ਕਰੋ copy = ਕਾਪੀ ਕਰੋ
@ -188,9 +188,9 @@ item-accessed = ਪਹੁੰਚ: { $accessed }
calculating = ਗਿਣਤੀ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ... calculating = ਗਿਣਤੀ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ...
single-click = ਇੱਕ ਵਾਰ ਕਲਿੱਕ ਕਰਕੇ ਖੋਲ੍ਹੋ single-click = ਇੱਕ ਵਾਰ ਕਲਿੱਕ ਕਰਕੇ ਖੋਲ੍ਹੋ
show-recents = ਬਾਹੀ ਵਿੱਚ ਸੱਜਰੇ ਫੋਲਡਰ show-recents = ਬਾਹੀ ਵਿੱਚ ਸੱਜਰੇ ਫੋਲਡਰ
match-desktop = ਡੈਸਕਟਾਪ ਨਾਲ ਮਿਲਦਾ match-desktop = ਡੈਸਕਟਾਪ ਨਾਲ ਮਿਲਾਓ
dark = ਗੂੜ੍ਹਾ dark = ਗੂੜ੍ਹਾ
light = ਹਲਕਾ light = ਫਿੱਕਾ
type-to-search = ਖੋਜਣ ਲਈ ਲਿਖੋ type-to-search = ਖੋਜਣ ਲਈ ਲਿਖੋ
type-to-search-recursive = ਮੌਜੂਦਾ ਫੋਲਡਰ ਅਤੇ ਸਭ ਅਧੀਨ-ਫੋਲਡਰਾਂ ਵਿੱਚ ਖੋਜੋ type-to-search-recursive = ਮੌਜੂਦਾ ਫੋਲਡਰ ਅਤੇ ਸਭ ਅਧੀਨ-ਫੋਲਡਰਾਂ ਵਿੱਚ ਖੋਜੋ
add-to-sidebar = ਬਾਹੀ ਵਿੱਚ ਜੋੜੋ add-to-sidebar = ਬਾਹੀ ਵਿੱਚ ਜੋੜੋ

View file

@ -27,7 +27,7 @@ modified = Zmodyfikowano
trashed-on = Wyrzucono do kosza trashed-on = Wyrzucono do kosza
size = Rozmiar size = Rozmiar
# Progress footer # Progress footer
details = Detale details = Szczegóły
dismiss = Odrzuć wiadomość dismiss = Odrzuć wiadomość
operations-running = operations-running =
{ $running } bieżące { $running -> { $running } bieżące { $running ->
@ -390,7 +390,7 @@ new-window = Nowe okno
reload-folder = Odśwież katalog reload-folder = Odśwież katalog
rename = Zmień nazwę… rename = Zmień nazwę…
close-tab = Zamknij kartę close-tab = Zamknij kartę
quit = Zamknij quit = Zakończ
## Edit ## Edit
@ -447,3 +447,6 @@ context-action-confirm-warning =
}. }.
run = Uruchom run = Uruchom
rename-confirm = Zmień nazwę rename-confirm = Zmień nazwę
checksum = { $kind } suma kontrolna
calculate = Oblicz
error = Błąd

View file

@ -388,7 +388,7 @@ new-window = Nova janela
reload-folder = Recarregar pasta reload-folder = Recarregar pasta
rename = Renomear... rename = Renomear...
close-tab = Fechar aba close-tab = Fechar aba
quit = Sair quit = Encerrar
## Edit ## Edit
@ -446,3 +446,6 @@ context-action-confirm-warning =
}. }.
run = Executar run = Executar
rename-confirm = Renomear rename-confirm = Renomear
checksum = Soma de verificação { $kind }
calculate = Calcular
error = Erro

View file

@ -188,7 +188,7 @@ settings = Параметры
### Appearance ### Appearance
appearance = Оформление appearance = Внешний вид
theme = Тема theme = Тема
match-desktop = Как в системе match-desktop = Как в системе
dark = Тёмная dark = Тёмная
@ -218,7 +218,7 @@ new-tab = Новая вкладка
new-window = Новое окно new-window = Новое окно
rename = Переименовать… rename = Переименовать…
close-tab = Закрыть вкладку close-tab = Закрыть вкладку
quit = Выйти quit = Завершить
## Edit ## Edit
@ -271,8 +271,8 @@ extract-to = Распаковать в…
extract-to-title = Распаковать в папку extract-to-title = Распаковать в папку
mount-error = Не удалось получить доступ к диску mount-error = Не удалось получить доступ к диску
create = Создать create = Создать
open-with-title = Как вы хотите открыть «{ $name }»? open-with-title = Как хотите открыть «{ $name }»?
browse-store = Искать в { $store } browse-store = Перейти в { $store }
other-apps = Другие приложения other-apps = Другие приложения
related-apps = Связанные приложения related-apps = Связанные приложения
selected-items = { $items } выделенных элем. selected-items = { $items } выделенных элем.
@ -320,7 +320,7 @@ type-to-search-enter-path = Ввод пути к каталогу или фай
delete-permanently = Удалить навсегда delete-permanently = Удалить навсегда
eject = Извлечь eject = Извлечь
remove-from-recents = Убрать из недавних remove-from-recents = Убрать из недавних
change-wallpaper = Изменить обои… change-wallpaper = Изменить фон...
desktop-appearance = Параметры оформления… desktop-appearance = Параметры оформления…
display-settings = Параметры экрана… display-settings = Параметры экрана…
reload-folder = Обновить папку reload-folder = Обновить папку
@ -390,3 +390,6 @@ context-action-confirm-warning =
}. }.
run = Выполнить run = Выполнить
rename-confirm = Переименовать rename-confirm = Переименовать
checksum = Хеш-сумма { $kind }
calculate = Вычислить
error = Ошибка

View file

@ -0,0 +1,3 @@
cancel = ᱵᱟᱹᱛᱤᱞ
name = ᱧᱩᱛᱩᱢ
save = ᱥᱟᱧᱪᱟᱣ

View file

@ -319,7 +319,7 @@ list-view = Listvy
show-hidden-files = Visa dolda filer show-hidden-files = Visa dolda filer
list-directories-first = Lista mappar först list-directories-first = Lista mappar först
gallery-preview = Galleri förhandsvisning gallery-preview = Galleri förhandsvisning
menu-settings = Inställningar… menu-settings = Inställningar...
menu-about = Om COSMIC Filer... menu-about = Om COSMIC Filer...
## Sortera ## Sortera
@ -419,3 +419,6 @@ context-action-confirm-warning =
}. }.
run = Kör run = Kör
rename-confirm = Byt namn rename-confirm = Byt namn
checksum = { $kind }-kontrollsumma
calculate = Beräkna
error = Fel

View file

@ -158,7 +158,7 @@ new-tab = Нова вкладка
new-window = Нове вікно new-window = Нове вікно
rename = Перейменувати... rename = Перейменувати...
close-tab = Закрити вкладку close-tab = Закрити вкладку
quit = Вийти quit = Завершити
## Edit ## Edit
@ -182,7 +182,7 @@ menu-settings = Налаштування...
menu-about = Про Файли COSMIC... menu-about = Про Файли COSMIC...
repository = Сховище repository = Сховище
support = Підтримка support = Підтримка
details = Деталі details = Подробиці
dismiss = Закрити повідомлення dismiss = Закрити повідомлення
remove = Вилучити remove = Вилучити
cancelled = Скасовані cancelled = Скасовані
@ -389,3 +389,6 @@ context-action-confirm-warning =
context-action = Контекстна дія context-action = Контекстна дія
rename-confirm = Перейменувати rename-confirm = Перейменувати
mixed = Змішано mixed = Змішано
checksum = контрольна сума { $kind }
calculate = Вирахувати
error = Помилка

View file

@ -25,7 +25,7 @@ modified = 修改时间
trashed-on = 删除时间 trashed-on = 删除时间
size = 大小 size = 大小
# Progress footer # Progress footer
details = 详细信息 details = 详情
dismiss = 清除消息 dismiss = 清除消息
operations-running = operations-running =
正在进行 { $running } { $running -> 正在进行 { $running } { $running ->
@ -169,8 +169,8 @@ read-write-execute = 读取、写入和执行
favorite-path-error = 打开目录时出错 favorite-path-error = 打开目录时出错
favorite-path-error-description = favorite-path-error-description =
无法打开 "{ $path }" 。 无法打开“{ $path }” 。
"{ $path }" 可能不存在或您没有权限打开它。 “{ $path }”可能不存在或您没有权限打开它。
您想要从侧边栏中移除它吗? 您想要从侧边栏中移除它吗?
remove = 移除 remove = 移除
@ -267,10 +267,10 @@ extracted =
[one] 项目 [one] 项目
*[other] 项目 *[other] 项目
}到“{ $to }” }到“{ $to }”
setting-executable-and-launching = 设置 "{ $name }" 为可执行文件并启动 setting-executable-and-launching = 设置 “{ $name }” 为可执行文件并启动
set-executable-and-launched = 已设 "{ $name }" 为可执行文件并且启动 set-executable-and-launched = 已设 “{ $name }” 为可执行文件并且启动
setting-permissions = 正在设置 "{ $name }" 的权限为 { $mode } setting-permissions = 正在设置 “{ $name }” 的权限为 { $mode }
set-permissions = 设置 "{ $name }" 的权限为 { $mode } set-permissions = 设置 “{ $name }” 的权限为 { $mode }
moving = moving =
正在从“{ $from }”移动 { $items } { $items -> 正在从“{ $from }”移动 { $items } { $items ->
[one] 项目 [one] 项目
@ -302,7 +302,7 @@ removed-from-recents =
*[other] 项目 *[other] 项目
} }
renaming = 正在将“{ $from }”重命名为“{ $to }” renaming = 正在将“{ $from }”重命名为“{ $to }”
renamed = 已重命名"{ $from }"为"{ $to }" renamed = 已重命名 “{ $from }” 为 “{ $to }”
restoring = restoring =
正在从{ trash }中还原 { $items } { $items -> 正在从{ trash }中还原 { $items } { $items ->
[one] 项目 [one] 项目
@ -446,3 +446,6 @@ context-action-confirm-warning =
} 上运行。 } 上运行。
context-action = 环境行动 context-action = 环境行动
rename-confirm = 重命名 rename-confirm = 重命名
calculate = 计算
error = 错误
checksum = { $kind } 校验和

View file

@ -12,7 +12,7 @@ undo = 復原
today = 今天 today = 今天
# List view # List view
name = 名稱 name = 名稱
modified = 修改日期 modified = 修改時間
size = 大小 size = 大小
# Dialogs # Dialogs
@ -161,8 +161,8 @@ moved =
[one] 項目 [one] 項目
*[other] 項目 *[other] 項目
} 從「{ $from }」至「{ $to }」 } 從「{ $from }」至「{ $to }」
renaming = 正在重新命名「{ $from }」至「{ $to }」 renaming = 正在將「{ $from }」重新命名為「{ $to }」
renamed = 已經重新命名「{ $from }」至「{ $to }」 renamed = 已將「{ $from }」重新命名為「{ $to }」
restoring = restoring =
正在還原 { $items } 項目 { $items -> 正在還原 { $items } 項目 { $items ->
[one] 項目 [one] 項目
@ -182,7 +182,7 @@ default-app = { $name } (預設)
## Show details ## Show details
show-details = 顯示詳細資料 show-details = 顯示詳細資訊
## Settings ## Settings
@ -196,13 +196,13 @@ match-desktop = 符合桌面
dark = 深色 dark = 深色
light = 淺色 light = 淺色
# Context menu # Context menu
add-to-sidebar = 添加至側邊欄 add-to-sidebar = 加入側邊欄
compress = 壓縮… compress = 壓縮…
extract-here = 解壓縮 extract-here = 解壓縮
new-file = 新建檔案... new-file = 新增檔案...
new-folder = 新建資料夾... new-folder = 新增資料夾...
open-in-terminal = 在終端機中開啟 open-in-terminal = 在終端機中開啟
move-to-trash = 移動至垃圾桶 move-to-trash = 丟入垃圾桶
restore-from-trash = 從垃圾桶還原 restore-from-trash = 從垃圾桶還原
remove-from-sidebar = 從側邊欄移除 remove-from-sidebar = 從側邊欄移除
sort-by-name = 依名稱排序 sort-by-name = 依名稱排序
@ -215,11 +215,11 @@ sort-by-size = 依大小排序
## File ## File
file = 檔案 file = 檔案
new-tab = 新建分頁 new-tab = 新增分頁
new-window = 新建視窗 new-window = 新增視窗
rename = 重新命名... rename = 重新命名...
close-tab = 關閉分頁 close-tab = 關閉分頁
quit = 退出 quit = 結束
## Edit ## Edit
@ -258,18 +258,18 @@ deleted =
}從 { trash } }從 { trash }
permanently-deleting = permanently-deleting =
正在永久刪除 { $items } { $items -> 正在永久刪除 { $items } { $items ->
[one] 项目 [one] 項目
*[other] 项目 *[other] 項目
} }
permanently-deleted = permanently-deleted =
已經永久刪除 { $items } { $items -> 已經永久刪除 { $items } { $items ->
[one] 项目 [one] 項目
*[other] 项目 *[other] 項目
} }
removing-from-recents = removing-from-recents =
正在從 { recents } 中移除 { $items } { $items -> 正在從 { recents } 中移除 { $items } { $items ->
[one] 项目 [one] 項目
*[other] 项目 *[other] 項目
} }
deleting = deleting =
正在刪除 { $items } { $items -> 正在刪除 { $items } { $items ->
@ -278,21 +278,21 @@ deleting =
}從 { trash }({ $progress })… }從 { trash }({ $progress })…
removed-from-recents = removed-from-recents =
已經從 { recents } 中移除 { $items } { $items -> 已經從 { recents } 中移除 { $items } { $items ->
[one] 项目 [one] 項目
*[other] 项目 *[other] 項目
} }
repository = 軟體庫源 repository = 軟體庫
desktop-view-options = 桌面檢視選項... desktop-view-options = 桌面檢視選項...
show-on-desktop = 顯示在桌面 show-on-desktop = 顯示在桌面
desktop-folder-content = 桌面資料夾內容 desktop-folder-content = 桌面資料夾內容
mounted-drives = 已經掛載的磁碟機 mounted-drives = 已經掛載的磁碟機
trash-folder-icon = 垃圾桶圖示 trash-folder-icon = 垃圾桶圖示
trashed-on = 遺棄時間 trashed-on = 丟入時間
icon-size-and-spacing = 圖示大小與間距 icon-size-and-spacing = 圖示大小與間距
icon-size = 圖示大小 icon-size = 圖示大小
grid-spacing = 網格間距 grid-spacing = 網格間距
details = 詳情 details = 詳細資訊
dismiss = 撤停訊息 dismiss = 關閉訊息
delete = 刪除 delete = 刪除
remove = 移除 remove = 移除
support = 支援 support = 支援
@ -393,3 +393,6 @@ context-action-confirm-warning =
} 上執行。 } 上執行。
run = 執行 run = 執行
rename-confirm = 重新命名 rename-confirm = 重新命名
checksum = { $kind } 核對和
calculate = 計算
error = 錯誤

View file

@ -2,6 +2,7 @@
// SPDX-License-Identifier: GPL-3.0-only // SPDX-License-Identifier: GPL-3.0-only
use cosmic::app::{self, Core, Task, context_drawer}; use cosmic::app::{self, Core, Task, context_drawer};
use cosmic::core::Auto;
use cosmic::cosmic_config::{self, ConfigSet}; use cosmic::cosmic_config::{self, ConfigSet};
use cosmic::iced::clipboard::dnd::DndAction; use cosmic::iced::clipboard::dnd::DndAction;
use cosmic::iced::core::SmolStr; use cosmic::iced::core::SmolStr;
@ -27,7 +28,7 @@ use cosmic::iced::{
IcedMargin, IcedOutput, SctkLayerSurfaceSettings, IcedMargin, IcedOutput, SctkLayerSurfaceSettings,
}, },
platform_specific::shell::wayland::commands::layer_surface::{ platform_specific::shell::wayland::commands::layer_surface::{
Anchor, KeyboardInteractivity, Layer, destroy_layer_surface, get_layer_surface, Anchor, KeyboardInteractivity, Layer, destroy_layer_surface,
}, },
}; };
use cosmic::widget::about::About; use cosmic::widget::about::About;
@ -2718,6 +2719,9 @@ impl Application for App {
), ),
]); ]);
if matches!(flags.mode, Mode::Desktop) {
core.set_auto_blur(Auto::Window | Auto::Popup);
}
let mut app = Self { let mut app = Self {
core, core,
about, about,
@ -2836,8 +2840,16 @@ impl Application for App {
cosmic::Action::App(Message::NavMenuAction(NavMenuAction::OpenInNewTab(entity))) cosmic::Action::App(Message::NavMenuAction(NavMenuAction::OpenInNewTab(entity)))
}) })
.context_menu(self.nav_context_menu()) .context_menu(self.nav_context_menu())
.close_icon(icon::from_name("media-eject-symbolic").size(16).icon()) .close_icon(icon::from_name("media-eject-symbolic").size(16).icon());
.into_container();
#[cfg(feature = "wayland")]
{
nav = nav
.window_id_maybe(self.core().main_window_id())
.on_surface_action(|m| cosmic::Action::Cosmic(cosmic::app::Action::Surface(m)))
}
let mut nav = nav.into_container();
if !self.core.is_condensed() { if !self.core.is_condensed() {
nav = nav.max_width(280); nav = nav.max_width(280);
@ -2848,14 +2860,12 @@ impl Application for App {
)) ))
} }
fn nav_context_menu( fn nav_context_menu(&self) -> Option<Vec<widget::menu::Tree<cosmic::Action<Self::Message>>>> {
&self,
) -> Option<Vec<widget::menu::Tree<cosmic::Action<Self::Message>>>> {
let items = self.nav_model.iter().map(|entity| { let items = self.nav_model.iter().map(|entity| {
let favorite_index_opt = self.nav_model.data::<FavoriteIndex>(entity); let favorite_index_opt = self.nav_model.data::<FavoriteIndex>(entity);
let location_opt = self.nav_model.data::<Location>(entity); let location_opt = self.nav_model.data::<Location>(entity);
let mut items = Vec::with_capacity(7); let mut items: Vec<widget::menu::Item<NavMenuAction, String>> = Vec::with_capacity(7);
if location_opt if location_opt
.and_then(Location::path_opt) .and_then(Location::path_opt)
@ -2982,10 +2992,14 @@ impl Application for App {
}) })
&& let Some(mounter) = MOUNTERS.get(&key) && let Some(mounter) = MOUNTERS.get(&key)
{ {
return mounter.network_drive(uri.clone()).map(move |()| { return mounter.network_drive(uri.clone()).map(move |mounted| {
if mounted {
cosmic::Action::App(Message::NetworkDriveOpenEntityAfterMount { cosmic::Action::App(Message::NetworkDriveOpenEntityAfterMount {
entity, entity,
}) })
} else {
cosmic::action::none()
}
}); });
} }
@ -3896,7 +3910,7 @@ impl Application for App {
Some((*mounter_key, self.network_drive_input.clone())); Some((*mounter_key, self.network_drive_input.clone()));
return mounter return mounter
.network_drive(self.network_drive_input.clone()) .network_drive(self.network_drive_input.clone())
.map(|()| cosmic::action::none()); .map(|_| cosmic::action::none());
} }
log::warn!( log::warn!(
"no mounter found for connecting to {:?}", "no mounter found for connecting to {:?}",
@ -4909,9 +4923,10 @@ impl Application for App {
use cctk::wayland_protocols::xdg::shell::client::xdg_positioner::{ use cctk::wayland_protocols::xdg::shell::client::xdg_positioner::{
Anchor, Gravity, Anchor, Gravity,
}; };
use cosmic::iced::runtime::platform_specific::wayland::popup::{ use cosmic::{iced::runtime::platform_specific::wayland::popup::{
SctkPopupSettings, SctkPositioner, SctkPopupSettings, SctkPositioner,
}; }, widget::menu::StyleSheet as _};
let window_id = WindowId::unique(); let window_id = WindowId::unique();
self.windows.insert( self.windows.insert(
window_id, window_id,
@ -4921,10 +4936,24 @@ impl Application for App {
)), )),
); );
commands.push(self.update(Message::CheckClipboard)); commands.push(self.update(Message::CheckClipboard));
let t = self.core.system_theme();
let styling = t.appearance(
&cosmic::theme::menu_bar::MenuBarStyle::Default,
false,
);
let rad = styling.menu_border_radius;
commands.push(self.update(Message::Surface( commands.push(self.update(Message::Surface(
cosmic::surface::action::app_popup( cosmic::surface::action::app_popup(
|_: &Self| cosmic::surface::action::LiveSettings::default(), move |_| cosmic::surface::action::LiveSettings {
move |app: &mut Self| -> SctkPopupSettings { corners: Some(iced::runtime::platform_specific::wayland::CornerRadius {
top_left: rad[0] as u32,
top_right: rad[1] as u32,
bottom_left: rad[2] as u32,
bottom_right: rad[3] as u32,
}),
..Default::default()
}, move |app: &mut Self| -> SctkPopupSettings {
let anchor_rect = Rectangle { let anchor_rect = Rectangle {
x: point.x as i32, x: point.x as i32,
y: point.y as i32, y: point.y as i32,
@ -5694,13 +5723,20 @@ impl Application for App {
.insert(surface_id, Window::new(WindowKind::Desktop(entity))); .insert(surface_id, Window::new(WindowKind::Desktop(entity)));
return Task::batch([ return Task::batch([
command, command,
get_layer_surface(SctkLayerSurfaceSettings { cosmic::task::message(cosmic::action::cosmic(
cosmic::app::Action::Surface(
cosmic::surface::action::app_layer_shell(
|_| Default::default(),
move |_: &mut App| SctkLayerSurfaceSettings {
id: surface_id, id: surface_id,
layer: Layer::Bottom, layer: Layer::Bottom,
keyboard_interactivity: KeyboardInteractivity::OnDemand, keyboard_interactivity: KeyboardInteractivity::OnDemand,
input_zone: None, input_zone: None,
anchor: Anchor::TOP | Anchor::BOTTOM | Anchor::LEFT | Anchor::RIGHT, anchor: Anchor::TOP
output: IcedOutput::Output(output), | Anchor::BOTTOM
| Anchor::LEFT
| Anchor::RIGHT,
output: IcedOutput::Output(output.clone()),
namespace: "cosmic-files-applet".into(), namespace: "cosmic-files-applet".into(),
size: Some((None, None)), size: Some((None, None)),
margin: IcedMargin { margin: IcedMargin {
@ -5710,8 +5746,14 @@ impl Application for App {
right: 0, right: 0,
}, },
exclusive_zone: 0, exclusive_zone: 0,
size_limits: Limits::NONE.min_width(1.0).min_height(1.0), size_limits: Limits::NONE
}), .min_width(1.0)
.min_height(1.0),
},
None,
),
),
)),
#[cfg(all(feature = "wayland", feature = "desktop-applet"))] #[cfg(all(feature = "wayland", feature = "desktop-applet"))]
overlap_notify(surface_id, true), overlap_notify(surface_id, true),
]); ]);
@ -6898,7 +6940,6 @@ impl Application for App {
}) })
.drag_id(self.tab_drag_id), .drag_id(self.tab_drag_id),
) )
.class(style::Container::Background)
.width(Length::Fill) .width(Length::Fill)
.padding([0, space_s]), .padding([0, space_s]),
); );

View file

@ -1796,12 +1796,28 @@ impl Application for App {
SctkPopupSettings, SctkPositioner, SctkPopupSettings, SctkPositioner,
}; };
use cosmic::iced::Rectangle; use cosmic::iced::Rectangle;
use cosmic::widget::menu::StyleSheet as _;
let window_id = window::Id::unique(); let window_id = window::Id::unique();
self.context_menu_window = Some(window_id); self.context_menu_window = Some(window_id);
let autosize_id = widget::Id::unique(); let autosize_id = widget::Id::unique();
let t = self.core.system_theme();
let styling = t.appearance(
&cosmic::theme::menu_bar::MenuBarStyle::Default,
false,
);
let rad = styling.menu_border_radius;
commands.push(self.update(Message::Surface( commands.push(self.update(Message::Surface(
cosmic::surface::action::app_popup( cosmic::surface::action::app_popup(
|_: &Self| cosmic::surface::action::LiveSettings::default(), move |_| cosmic::surface::action::LiveSettings {
corners: Some(iced::runtime::platform_specific::wayland::CornerRadius {
top_left: rad[0] as u32,
top_right: rad[1] as u32,
bottom_left: rad[2] as u32,
bottom_right: rad[3] as u32,
}),
..Default::default()
},
move |app: &mut Self| -> SctkPopupSettings { move |app: &mut Self| -> SctkPopupSettings {
let anchor_rect = Rectangle { let anchor_rect = Rectangle {
x: point.x as i32, x: point.x as i32,

View file

@ -70,7 +70,7 @@ pub fn context_menu<'a>(
String::new() String::new()
}; };
fn key_style(theme: &cosmic::Theme) -> TextStyle { fn key_style(theme: &cosmic::Theme) -> TextStyle {
let mut color = theme.cosmic().background(false).component.on; let mut color = theme.cosmic().background(theme.transparent).component.on;
color.alpha *= 0.75; color.alpha *= 0.75;
TextStyle { TextStyle {
color: Some(color.into()), color: Some(color.into()),
@ -78,7 +78,7 @@ pub fn context_menu<'a>(
} }
} }
fn disabled_style(theme: &cosmic::Theme) -> TextStyle { fn disabled_style(theme: &cosmic::Theme) -> TextStyle {
let mut color = theme.cosmic().background(false).component.on; let mut color = theme.cosmic().background(theme.transparent).component.on;
color.alpha *= 0.5; color.alpha *= 0.5;
TextStyle { TextStyle {
color: Some(color.into()), color: Some(color.into()),
@ -445,12 +445,12 @@ pub fn context_menu<'a>(
} }
} }
container(column::with_children(children)) container(cosmic::widget::menu::menu_column::MenuColumn::with_children(children))
.padding(1) .padding(1)
//TODO: move style to libcosmic //TODO: move style to libcosmic
.style(|theme| { .style(|theme| {
let cosmic = theme.cosmic(); let cosmic = theme.cosmic();
let component = &cosmic.background(false).component; let component = &cosmic.background(theme.transparent);
container::Style { container::Style {
icon_color: Some(component.on.into()), icon_color: Some(component.on.into()),
text_color: Some(component.on.into()), text_color: Some(component.on.into()),
@ -844,7 +844,7 @@ pub fn location_context_menu<'a>(ancestor_index: usize) -> Element<'a, tab::Mess
.padding(1) .padding(1)
.style(|theme| { .style(|theme| {
let cosmic = theme.cosmic(); let cosmic = theme.cosmic();
let component = &cosmic.background(false).component; let component = &cosmic.background(theme.transparent).component;
container::Style { container::Style {
icon_color: Some(component.on.into()), icon_color: Some(component.on.into()),
text_color: Some(component.on.into()), text_color: Some(component.on.into()),

View file

@ -659,7 +659,7 @@ impl Mounter for Gvfs {
) )
} }
fn network_drive(&self, uri: String) -> Task<()> { fn network_drive(&self, uri: String) -> Task<bool> {
let command_tx = self.command_tx.clone(); let command_tx = self.command_tx.clone();
Task::perform( Task::perform(
async move { async move {
@ -668,9 +668,15 @@ impl Mounter for Gvfs {
command_tx.send(Cmd::NetworkDrive(uri, res_tx)).unwrap(); command_tx.send(Cmd::NetworkDrive(uri, res_tx)).unwrap();
res_rx.await res_rx.await
}, },
|x| { |result| match result {
if let Err(err) = x { Ok(Ok(())) => true,
Ok(Err(err)) => {
log::error!("{err:?}"); log::error!("{err:?}");
false
}
Err(err) => {
log::error!("{err:?}");
false
} }
}, },
) )

View file

@ -115,7 +115,7 @@ pub trait Mounter: Send + Sync {
fn items(&self, sizes: IconSizes) -> Option<MounterItems>; fn items(&self, sizes: IconSizes) -> Option<MounterItems>;
//TODO: send result //TODO: send result
fn mount(&self, item: MounterItem) -> Task<()>; fn mount(&self, item: MounterItem) -> Task<()>;
fn network_drive(&self, uri: String) -> Task<()>; fn network_drive(&self, uri: String) -> Task<bool>;
fn network_scan(&self, uri: &str, sizes: IconSizes) -> Option<Result<Vec<tab::Item>, String>>; fn network_scan(&self, uri: &str, sizes: IconSizes) -> Option<Result<Vec<tab::Item>, String>>;
fn dir_info(&self, uri: &str) -> Option<(String, String, Option<PathBuf>)>; fn dir_info(&self, uri: &str) -> Option<(String, String, Option<PathBuf>)>;
fn unmount(&self, item: MounterItem) -> Task<()>; fn unmount(&self, item: MounterItem) -> Task<()>;

View file

@ -454,7 +454,7 @@ impl Op {
} }
} }
let (from_file, metadata, to_file) = cosmic::iced::futures::join!( let (from_file_open_result, metadata, to_file_open_result) = cosmic::iced::futures::join!(
async { async {
compio::fs::OpenOptions::new() compio::fs::OpenOptions::new()
.read(true) .read(true)
@ -470,12 +470,28 @@ impl Op {
.write(true) .write(true)
.open(&self.to) .open(&self.to)
.await .await
.with_context(|| format!("failed to open {} for writing", self.to.display()))
} }
); );
let from_file = from_file?; let from_file = from_file_open_result?;
let mut to_file = to_file?;
let mut to_file = match to_file_open_result {
Ok(file) => file,
#[cfg(not(feature = "gvfs"))]
Err(why) => {
_ = from_file.close().await;
return Err(why).with_context(|| format!("failed to open {} for writing", self.to.display())).map_err(Into::into);
}
#[cfg(feature = "gvfs")]
Err(_why) => {
_ = from_file.close().await;
return self
.gio_file_copy(ctx, progress)
.await
.map(|()| true)
.map_err(Into::into);
}
};
progress.total_bytes = metadata.as_ref().map(|m| m.len()); progress.total_bytes = metadata.as_ref().map(|m| m.len());
(ctx.on_progress)(self, &progress); (ctx.on_progress)(self, &progress);

View file

@ -181,7 +181,9 @@ fn button_appearance(
appearance.icon_color = Some(Color::from(cosmic.on_bg_component_color())); appearance.icon_color = Some(Color::from(cosmic.on_bg_component_color()));
appearance.text_color = Some(Color::from(cosmic.on_bg_component_color())); appearance.text_color = Some(Color::from(cosmic.on_bg_component_color()));
if cut { if cut {
appearance.text_color = Some(Color::from(cosmic.background(false).component.on_disabled)); appearance.text_color = Some(Color::from(
cosmic.background(theme.transparent).component.on_disabled,
));
} else { } else {
appearance.text_color = Some(Color::from(cosmic.on_bg_component_color())); appearance.text_color = Some(Color::from(cosmic.on_bg_component_color()));
} }
@ -192,12 +194,16 @@ fn button_appearance(
appearance.background = Some(Color::from(cosmic.bg_color()).into()); appearance.background = Some(Color::from(cosmic.bg_color()).into());
appearance.icon_color = Some(Color::from(cosmic.on_bg_color())); appearance.icon_color = Some(Color::from(cosmic.on_bg_color()));
if cut { if cut {
appearance.text_color = Some(Color::from(cosmic.background(false).component.disabled)); appearance.text_color = Some(Color::from(
cosmic.background(theme.transparent).component.disabled,
));
} else { } else {
appearance.text_color = Some(Color::from(cosmic.on_bg_color())); appearance.text_color = Some(Color::from(cosmic.on_bg_color()));
} }
} else if cut { } else if cut {
appearance.text_color = Some(Color::from(cosmic.background(false).component.on_disabled)); appearance.text_color = Some(Color::from(
cosmic.background(theme.transparent).component.on_disabled,
));
} }
if focused && accent { if focused && accent {
appearance.outline_width = 1.0; appearance.outline_width = 1.0;
@ -945,11 +951,24 @@ fn item_from_trash_child(
metadata: fs::Metadata, metadata: fs::Metadata,
sizes: IconSizes, sizes: IconSizes,
) -> Option<Item> { ) -> Option<Item> {
let original_path = crate::trash::original_path_for_trash_child(&path)?; let Some(original_path) = crate::trash::original_path_for_trash_child(&path) else {
log::warn!(
"failed to resolve original path for trash item {}, skipping entry",
path.display()
);
return None;
};
let Some(original_parent) = original_path.parent() else {
log::warn!(
"trash item {} has no original parent, skipping entry",
path.display()
);
return None;
};
let entry = trash::TrashItem { let entry = trash::TrashItem {
id: path.as_os_str().to_os_string(), id: path.as_os_str().to_os_string(),
name: std::ffi::OsString::from(&name), name: std::ffi::OsString::from(&name),
original_parent: original_path.parent()?.to_path_buf(), original_parent: original_parent.to_path_buf(),
time_deleted: 0, time_deleted: 0,
}; };
let size = if metadata.is_dir() { let size = if metadata.is_dir() {
@ -1042,6 +1061,7 @@ pub fn scan_path(tab_path: &PathBuf, sizes: IconSizes) -> Vec<Item> {
if !remote_scannable { if !remote_scannable {
match fs::read_dir(tab_path) { match fs::read_dir(tab_path) {
Ok(entries) => { Ok(entries) => {
let trash = crate::trash::is_trash_path(tab_path);
items = entries items = entries
.filter_map(|entry_res| { .filter_map(|entry_res| {
let entry = entry_res let entry = entry_res
@ -1082,7 +1102,6 @@ pub fn scan_path(tab_path: &PathBuf, sizes: IconSizes) -> Vec<Item> {
}) })
.ok()?; .ok()?;
let trash = crate::trash::is_trash_path(tab_path);
if trash { if trash {
item_from_trash_child(path, name, metadata, sizes) item_from_trash_child(path, name, metadata, sizes)
} else { } else {
@ -2382,10 +2401,8 @@ impl Item {
widget::image(handle.clone()).into() widget::image(handle.clone()).into()
} }
ItemThumbnail::Svg(handle) => widget::svg(handle.clone()).into(), ItemThumbnail::Svg(handle) => widget::svg(handle.clone()).into(),
ItemThumbnail::Text(content) => widget::text_editor(content) ItemThumbnail::Text(content) => widget::text_editor::text_editor(content)
.class(cosmic::theme::iced::TextEditor::Custom(Box::new( .style(text_editor_class)
text_editor_class,
)))
.width(THUMBNAIL_SIZE as f32) .width(THUMBNAIL_SIZE as f32)
.height(Length::Fixed(THUMBNAIL_SIZE as f32)) .height(Length::Fixed(THUMBNAIL_SIZE as f32))
.padding(spacing.space_xxs) .padding(spacing.space_xxs)
@ -2436,7 +2453,7 @@ impl Item {
); );
let mut details = widget::column::with_capacity(8).spacing(space_xxxs); let mut details = widget::column::with_capacity(8).spacing(space_xxxs);
details = details.push(widget::text::heading(self.name.clone())); details = details.push(widget::selectable_text::heading(self.name.clone()));
details = details.push(widget::text::body(fl!( details = details.push(widget::text::body(fl!(
"type", "type",
mime = self.mime.to_string() mime = self.mime.to_string()
@ -2493,21 +2510,21 @@ impl Item {
let time_formatter = time_formatter(military_time); let time_formatter = time_formatter(military_time);
if let Ok(time) = metadata.created() { if let Ok(time) = metadata.created() {
details = details.push(widget::text::body(fl!( details = details.push(widget::selectable_text::body(fl!(
"item-created", "item-created",
created = format_time(time, &date_time_formatter, &time_formatter).to_string() created = format_time(time, &date_time_formatter, &time_formatter).to_string()
))); )));
} }
if let Ok(time) = metadata.modified() { if let Ok(time) = metadata.modified() {
details = details.push(widget::text::body(fl!( details = details.push(widget::selectable_text::body(fl!(
"item-modified", "item-modified",
modified = format_time(time, &date_time_formatter, &time_formatter).to_string() modified = format_time(time, &date_time_formatter, &time_formatter).to_string()
))); )));
} }
if let Ok(time) = metadata.accessed() { if let Ok(time) = metadata.accessed() {
details = details.push(widget::text::body(fl!( details = details.push(widget::selectable_text::body(fl!(
"item-accessed", "item-accessed",
accessed = format_time(time, &date_time_formatter, &time_formatter).to_string() accessed = format_time(time, &date_time_formatter, &time_formatter).to_string()
))); )));
@ -3859,6 +3876,28 @@ impl Tab {
} }
Message::EditLocationSubmit => { Message::EditLocationSubmit => {
if let Some(mut edit_location) = self.edit_location.take() { if let Some(mut edit_location) = self.edit_location.take() {
let typed_opt = match &edit_location.location {
Location::Path(path) => path.to_str().map(str::to_string),
Location::Network(uri, ..) => Some(uri.clone()),
_ => None,
};
let mut typed_uri = false;
if let Some(typed) = typed_opt {
match typed.trim().parse::<url::Url>() {
Ok(url) if url.scheme() != "file" && url.has_host() => {
let uri = url.as_str().to_string();
edit_location =
Location::Network(uri.clone(), uri, None).normalize().into();
typed_uri = true;
}
Err(_) if matches!(edit_location.location, Location::Network(..)) => {
edit_location =
Location::Path(PathBuf::from(typed)).normalize().into();
}
_ => {}
}
}
// Select first completion if current location does not exist // Select first completion if current location does not exist
if edit_location.selected.is_none() if edit_location.selected.is_none()
&& edit_location && edit_location
@ -3874,6 +3913,9 @@ impl Tab {
} }
cd = edit_location.resolve(); cd = edit_location.resolve();
if cd.is_none() && typed_uri {
cd = Some(edit_location.location);
}
} }
} }
Message::EditLocationTab => { Message::EditLocationTab => {
@ -5174,9 +5216,11 @@ impl Tab {
} }
ItemThumbnail::Text(text) => { ItemThumbnail::Text(text) => {
element_opt = Some( element_opt = Some(
widget::container(widget::text_editor(text).padding(space_xxs).class( widget::container(
cosmic::theme::iced::TextEditor::Custom(Box::new(text_editor_class)), widget::text_editor::text_editor(text)
)) .padding(space_xxs)
.style(text_editor_class),
)
.center(Length::Fill) .center(Length::Fill)
.into(), .into(),
); );
@ -7012,7 +7056,8 @@ impl Tab {
let path = path.clone(); let path = path.clone();
// Acquire semaphore permit // Acquire semaphore permit
_ = THUMB_SEMAPHORE.acquire().await; let _permit =
THUMB_SEMAPHORE.acquire().await.unwrap();
tokio::task::spawn_blocking(move || { tokio::task::spawn_blocking(move || {
let start = Instant::now(); let start = Instant::now();

View file

@ -2,6 +2,7 @@ use cosmic::widget;
use regex::Regex; use regex::Regex;
use std::collections::HashSet; use std::collections::HashSet;
use std::path::{Path, PathBuf}; use std::path::{Path, PathBuf};
use std::sync::LazyLock;
use crate::config::IconSizes; use crate::config::IconSizes;
use crate::tab::{Item, SearchItem}; use crate::tab::{Item, SearchItem};
@ -89,11 +90,12 @@ pub fn trash_item_path(item: &trash::TrashItem) -> Option<PathBuf> {
/// - Read `~/.local/share/Trash/info/folder.trashinfo` to get the original path /// - Read `~/.local/share/Trash/info/folder.trashinfo` to get the original path
/// - Compute: `<original_path>/sub/file.txt` /// - Compute: `<original_path>/sub/file.txt`
pub fn original_path_for_trash_child(p: &Path) -> Option<PathBuf> { pub fn original_path_for_trash_child(p: &Path) -> Option<PathBuf> {
let files = p.ancestors().find(|a| a.ends_with("files"))?; let files = trash_files_dir(p)?;
let root = files.parent()?; let root = files.parent()?;
let top = p.strip_prefix(files).ok()?.components().next()?; let top = p.strip_prefix(files).ok()?.components().next()?;
let info = let mut trashinfo_name = top.as_os_str().to_os_string();
std::fs::read_to_string(root.join("info").join(top).with_extension("trashinfo")).ok()?; trashinfo_name.push(".trashinfo");
let info = std::fs::read_to_string(root.join("info").join(trashinfo_name)).ok()?;
let orig = percent_decode(info.lines().find_map(|l| l.strip_prefix("Path="))?.trim())?; let orig = percent_decode(info.lines().find_map(|l| l.strip_prefix("Path="))?.trim())?;
let rel = p.strip_prefix(files.join(top)).ok()?; let rel = p.strip_prefix(files.join(top)).ok()?;
let mut result = PathBuf::from(&orig); let mut result = PathBuf::from(&orig);
@ -103,9 +105,29 @@ pub fn original_path_for_trash_child(p: &Path) -> Option<PathBuf> {
Some(result) Some(result)
} }
static TRASH_FOLDERS: LazyLock<HashSet<PathBuf>> = LazyLock::new(|| {
Trash::folders().unwrap_or_else(|e| {
log::warn!("failed to list trash folders: {}", e);
HashSet::new()
})
});
fn is_trash_root(root: &Path) -> bool {
if TRASH_FOLDERS.is_empty() {
root.join("info").is_dir()
} else {
TRASH_FOLDERS.contains(root)
}
}
fn trash_files_dir(path: &Path) -> Option<&Path> {
path.ancestors()
.find(|a| a.ends_with("files") && a.parent().is_some_and(is_trash_root))
}
/// Check whether a path is inside any trash `files/` directory. /// Check whether a path is inside any trash `files/` directory.
pub fn is_trash_path(path: &Path) -> bool { pub fn is_trash_path(path: &Path) -> bool {
path.ancestors().any(|a| a.ends_with("files")) trash_files_dir(path).is_some()
} }
pub struct Trash; pub struct Trash;