From dcd18788c7ad5e37ef47dcdfd7ac31a751ca6dc4 Mon Sep 17 00:00:00 2001 From: Elsie Date: Sun, 29 Sep 2024 14:27:49 -0400 Subject: [PATCH 01/44] Yippee --- Makefile | 6 +++ modules/lib/mod.nu | 1 + modules/lib/screen.nu | 5 ++ modules/pluggables/mod.nu | 2 + modules/pluggables/pacstall.nu | 33 ++++++++++++ rhino-pkg | 99 ++++++++++++++++++++++++++++++++++ 6 files changed, 146 insertions(+) create mode 100644 Makefile create mode 100644 modules/lib/mod.nu create mode 100644 modules/lib/screen.nu create mode 100644 modules/pluggables/mod.nu create mode 100644 modules/pluggables/pacstall.nu create mode 100755 rhino-pkg diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..2f7ddea --- /dev/null +++ b/Makefile @@ -0,0 +1,6 @@ +all: install + +install: + mkdir -pv $(DESTDIR)/usr/share/rhino-pkg/ + cp -rv modules/ $(DESTDIR)/usr/share/rhino-pkg/ + install -Dm755 rhino-pkg -t $(DESTDIR)/usr/bin/ diff --git a/modules/lib/mod.nu b/modules/lib/mod.nu new file mode 100644 index 0000000..94b409c --- /dev/null +++ b/modules/lib/mod.nu @@ -0,0 +1 @@ +export module screen.nu diff --git a/modules/lib/screen.nu b/modules/lib/screen.nu new file mode 100644 index 0000000..9396e56 --- /dev/null +++ b/modules/lib/screen.nu @@ -0,0 +1,5 @@ +# Clear screen with tput +export def clearscr [] { + ^tput cuu 1 + ^tput el +} diff --git a/modules/pluggables/mod.nu b/modules/pluggables/mod.nu new file mode 100644 index 0000000..cbabdab --- /dev/null +++ b/modules/pluggables/mod.nu @@ -0,0 +1,2 @@ +# Apparently this is how it works +export module pacstall.nu diff --git a/modules/pluggables/pacstall.nu b/modules/pluggables/pacstall.nu new file mode 100644 index 0000000..5576a54 --- /dev/null +++ b/modules/pluggables/pacstall.nu @@ -0,0 +1,33 @@ +export def pacstall-list-installed [] { + # I'm using par-each because it's wayyy quicker and I can just sort the stuff afterwards + ^pacstall -L | lines | par-each { |pkg| { "name": $pkg, "version": (^pacstall -Ci $pkg version) } } | sort-by name +} + +export def pacstall-search [input?: string, --description] -> table { + if $input == null { + if $description { + # Search with description for everything + ^pacstall -Sd ':pkgbase' | ansi strip | lines | parse "{pkg} - {desc} @ {repo}" | insert provider 'pacstall' + } else { + # Search everything + ^pacstall -S '$' | ansi strip | lines | parse "{pkg} @ {repo}" | insert desc '' | insert provider 'pacstall' + } + } else { + if $description { + # We are searching for something in description + ^pacstall -Sd $input | ansi strip | lines | parse "{pkg} - {desc} @ {repo}" | insert provider 'pacstall' + } else { + # Searching by name + ^pacstall -S $input | ansi strip | lines | parse "{pkg} @ {repo}" | insert desc '' | insert provider 'pacstall' + + } + } +} + +export def pacstall-upgrade [--promptless] { + if $promptless { + ^pacstall -PUp + } else { + ^pacstall -Up + } +} diff --git a/rhino-pkg b/rhino-pkg new file mode 100755 index 0000000..12f558d --- /dev/null +++ b/rhino-pkg @@ -0,0 +1,99 @@ +#!/usr/bin/env nu + +use "/usr/share/rhino-pkg/modules/lib/" [screen] + +# USAGE: rpk [function] {flag} +# +# functions: +# install: Install package(s) - Prompts user to respond with +# the number(s) associated with the desired package(s). +# Aliases: nstl, instll, instl, add, i +# +# remove: Uninstall package(s) - Prompts user to respond with +# the number(s) associated with the desired package(s). +# Aliases: rm, rmv, uninstall, r +# +# search: Search for package(s) - Does not have a second prompt. +# Aliases: srch, find, s +# +# update: Updates all packages accessible to the wrapper - does +# not accept , instead use install to update +# individual packages. Has a confirmation prompt. +# Aliases: upgrade, updt, upd, upg, u +# +# cleanup: Attempts to repair broken dependencies and remove any +# unused packages. Does not accept , but has +# a confirmation prompt. +# Aliases: clean, clnp, cln, c +# +# flags: +# --help/-h: Display this page +# +# --multiterm For commands with package search functionality, switches them to accept multiple arguments as additional filtering on a single search +# +# --description/-d: By default, rpk will only display packages +# that contain within their name. Use this flag to increase +# range and display packages with in their description. +# +# -y: Makes functions with confirmation prompts run promptless. +# +# input: +# Provide a package name or description. +# +# Example execution: +# $ rpk install foobar +# Found packages matching: 'foobar': +# +# [0]: pyfoobar (apt) +# [1]: foobarshell (apt) +# [2]: foobar (flatpak) +# [3]: foobar-web (snap) +# [4]: foobar-bin (pacstall) +# [5]: foobar-theme (pacstall) +# +# Select which package to install [0-5]: 3 4 5 +# Selecting 'foobar-web' from package manager 'snap' +# Selecting 'foobar-bin' from package manager 'pacstall' +# Selecting 'foobar-theme' from package manager 'pacstall' +# Are you sure? (y/N) +# [...] +# +# .;:;,. .: +# 'coooooooo:oo.';. +# ,oooooooooooooooo ; +# clllcccllloooooooo;c:'o +# .;';:::::::::cclooooooo' +# ''',::::::::::::::ccclc. +# .''';::::::::::l::::::: +# '''',:::::::::kd. +# .''''',;::ck:oW; +# ''''''''kXOM. +# .,,:dXMK +# :k +# +# rpk 1.0.0 +# A package manager wrapper for Pacstall, APT, Flatpak and snap +# Developed by Elsie19 for +# the Rhino Linux distribution. +def main [ + --description (-d) # Increase range and display packages with in their description + --yes (-y) # Makes functions with confirmation prompts run promptless + --multiterm # Makes functions with search features use multiple terms, filtering by each term + ...rest: string # 'install', 'remove', 'search', 'update', 'cleanup', etc +] -> int { + if ($rest | is-empty) { + error make -u { msg: "No valid subcommand passed", label: { text: "Failed here", span: (metadata $rest).span } } + exit 1 + } +} + +def "main search" [ + --description (-d) # Increase range and display packages with in their description + --multiterm # Makes functions with search features use multiple terms, filtering by each term + rest: string # Search query +] { + use "/usr/share/rhino-pkg/modules/pluggables/" [pacstall] + print "Searching pacstall..." + let pac_results = (pacstall pacstall-search $rest --description) + screen clearscr +} From acabb0cf4c343d374d59ff87c7fe28264b4756b9 Mon Sep 17 00:00:00 2001 From: Elsie Date: Sun, 29 Sep 2024 16:01:41 -0400 Subject: [PATCH 02/44] Muah --- modules/lib/cmd.nu | 3 ++ modules/lib/mod.nu | 1 + modules/pluggables/flatpak.nu | 43 +++++++++++++++++++++++++++ modules/pluggables/mod.nu | 2 ++ modules/pluggables/pacstall.nu | 53 +++++++++++++++++++++------------- modules/pluggables/snap.nu | 0 rhino-pkg | 9 ++++-- 7 files changed, 89 insertions(+), 22 deletions(-) create mode 100644 modules/lib/cmd.nu create mode 100644 modules/pluggables/flatpak.nu create mode 100644 modules/pluggables/snap.nu diff --git a/modules/lib/cmd.nu b/modules/lib/cmd.nu new file mode 100644 index 0000000..38757af --- /dev/null +++ b/modules/lib/cmd.nu @@ -0,0 +1,3 @@ +export def exists [cmd: string] -> bool { + ((which $cmd | length) > 0) +} diff --git a/modules/lib/mod.nu b/modules/lib/mod.nu index 94b409c..036dae6 100644 --- a/modules/lib/mod.nu +++ b/modules/lib/mod.nu @@ -1 +1,2 @@ export module screen.nu +export module cmd.nu diff --git a/modules/pluggables/flatpak.nu b/modules/pluggables/flatpak.nu new file mode 100644 index 0000000..0283acd --- /dev/null +++ b/modules/pluggables/flatpak.nu @@ -0,0 +1,43 @@ +use "/usr/share/rhino-pkg/modules/lib/" [cmd] + +export def list-installed [] { + ^flatpak list --app --columns=application:f + | lines + | uniq + | par-each { + |pkg| { + "name": $pkg, + "version": (^flatpak info $pkg + | grep Version + | str trim + | parse "{bla}: {version}" + | reject bla).version.0 + } + } +} + +export def search [input: string, --description] -> table { + # Description here is a dummy flag, because flatpak searches by both name and description with no way + # to change that afaik. + if (cmd exists "flatpak") { + ^flatpak search $input --columns=application:f + | lines + | wrap 'pkg' + | insert provider 'flatpak' + | merge (^flatpak search $input --columns=description:f + | lines + | wrap 'desc') + } else { + [] + } +} + +export def upgrade [--promptless] { + if (cmd exists "flatpak") { + if $promptless { + ^flatpak update -y + } else { + ^flatpak update + } + } +} diff --git a/modules/pluggables/mod.nu b/modules/pluggables/mod.nu index cbabdab..26d0942 100644 --- a/modules/pluggables/mod.nu +++ b/modules/pluggables/mod.nu @@ -1,2 +1,4 @@ # Apparently this is how it works export module pacstall.nu +export module flatpak.nu +export module snap.nu diff --git a/modules/pluggables/pacstall.nu b/modules/pluggables/pacstall.nu index 5576a54..7922d1e 100644 --- a/modules/pluggables/pacstall.nu +++ b/modules/pluggables/pacstall.nu @@ -1,33 +1,46 @@ -export def pacstall-list-installed [] { +use "/usr/share/rhino-pkg/modules/lib/" [cmd] + +export def list-installed [] { # I'm using par-each because it's wayyy quicker and I can just sort the stuff afterwards - ^pacstall -L | lines | par-each { |pkg| { "name": $pkg, "version": (^pacstall -Ci $pkg version) } } | sort-by name + ^pacstall -L + | lines + | par-each { + |pkg| { + "name": $pkg, + "version": (^pacstall -Ci $pkg version) + } + } | sort-by name } -export def pacstall-search [input?: string, --description] -> table { - if $input == null { - if $description { - # Search with description for everything - ^pacstall -Sd ':pkgbase' | ansi strip | lines | parse "{pkg} - {desc} @ {repo}" | insert provider 'pacstall' - } else { - # Search everything - ^pacstall -S '$' | ansi strip | lines | parse "{pkg} @ {repo}" | insert desc '' | insert provider 'pacstall' - } - } else { +export def search [input: string, --description] -> table { + if (cmd exists "pacstall") { if $description { # We are searching for something in description - ^pacstall -Sd $input | ansi strip | lines | parse "{pkg} - {desc} @ {repo}" | insert provider 'pacstall' + ^pacstall -Sd $input + | ansi strip + | lines + | parse "{pkg} - {desc} @ {repo}" + | insert provider 'pacstall' } else { # Searching by name - ^pacstall -S $input | ansi strip | lines | parse "{pkg} @ {repo}" | insert desc '' | insert provider 'pacstall' - + ^pacstall -S $input + | ansi strip + | lines + | parse "{pkg} @ {repo}" + | insert desc '' + | insert provider 'pacstall' } + } else { + [] } } -export def pacstall-upgrade [--promptless] { - if $promptless { - ^pacstall -PUp - } else { - ^pacstall -Up +export def upgrade [--promptless] { + if (cmd exists "pacstall") { + if $promptless { + ^pacstall -PUp + } else { + ^pacstall -Up + } } } diff --git a/modules/pluggables/snap.nu b/modules/pluggables/snap.nu new file mode 100644 index 0000000..e69de29 diff --git a/rhino-pkg b/rhino-pkg index 12f558d..b910f2c 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -92,8 +92,13 @@ def "main search" [ --multiterm # Makes functions with search features use multiple terms, filtering by each term rest: string # Search query ] { - use "/usr/share/rhino-pkg/modules/pluggables/" [pacstall] + use "/usr/share/rhino-pkg/modules/pluggables/" [pacstall flatpak] print "Searching pacstall..." - let pac_results = (pacstall pacstall-search $rest --description) + let pac_results = (pacstall search $rest --description) screen clearscr + print "Searching flatpak..." + let flatpak_results = (flatpak search $rest --description) + screen clearscr + let total = $pac_results | append $flatpak_results + $total } From 10eb4ad3e6897247bf53b622f954816057eba041 Mon Sep 17 00:00:00 2001 From: Elsie Date: Wed, 16 Oct 2024 09:43:24 -0400 Subject: [PATCH 03/44] Le mua --- modules/lib/cmd.nu | 11 +++++++++++ rhino-pkg | 11 ++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/modules/lib/cmd.nu b/modules/lib/cmd.nu index 38757af..d41bf48 100644 --- a/modules/lib/cmd.nu +++ b/modules/lib/cmd.nu @@ -1,3 +1,14 @@ export def exists [cmd: string] -> bool { ((which $cmd | length) > 0) } + +# Return color based off of package manager +export def print-color [type: string] { + match $type { + "pacstall" => (ansi yellow_bold) + "apt" => (ansi green_bold) + "flatpak" => (ansi cyan_bold) + "snap" => (ansi red_bold) + _ => (ansi grey_bold) + } +} diff --git a/rhino-pkg b/rhino-pkg index b910f2c..aa73a4f 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -1,6 +1,6 @@ #!/usr/bin/env nu -use "/usr/share/rhino-pkg/modules/lib/" [screen] +use "/usr/share/rhino-pkg/modules/lib/" [screen, cmd] # USAGE: rpk [function] {flag} # @@ -99,6 +99,11 @@ def "main search" [ print "Searching flatpak..." let flatpak_results = (flatpak search $rest --description) screen clearscr - let total = $pac_results | append $flatpak_results - $total + let total = $flatpak_results | append $pac_results + mut idx = 0 + for bla in $total { + let le_color = (cmd print-color $bla.provider) + print $"[($le_color)($idx)(ansi reset)]: ($bla.pkg) \(($le_color)($bla.provider)(ansi reset)\)" + $idx += 1 + } } From 5ae5b6234e09682aaf9cec5607575f8335e54eea Mon Sep 17 00:00:00 2001 From: Elsie Date: Wed, 16 Oct 2024 10:24:02 -0400 Subject: [PATCH 04/44] Add flatpak remote --- modules/pluggables/flatpak.nu | 7 ++++--- modules/pluggables/pacstall.nu | 2 +- rhino-pkg | 5 +++-- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/modules/pluggables/flatpak.nu b/modules/pluggables/flatpak.nu index 0283acd..0f7c068 100644 --- a/modules/pluggables/flatpak.nu +++ b/modules/pluggables/flatpak.nu @@ -16,13 +16,14 @@ export def list-installed [] { } } -export def search [input: string, --description] -> table { +export def search [input: string, description: bool] -> table { # Description here is a dummy flag, because flatpak searches by both name and description with no way # to change that afaik. if (cmd exists "flatpak") { - ^flatpak search $input --columns=application:f + ^flatpak search $input --columns=application:f,remotes:f | lines - | wrap 'pkg' + | parse -r '^([\w.-]+)\s+(\w+)$' + | rename pkg remote | insert provider 'flatpak' | merge (^flatpak search $input --columns=description:f | lines diff --git a/modules/pluggables/pacstall.nu b/modules/pluggables/pacstall.nu index 7922d1e..279e26a 100644 --- a/modules/pluggables/pacstall.nu +++ b/modules/pluggables/pacstall.nu @@ -12,7 +12,7 @@ export def list-installed [] { } | sort-by name } -export def search [input: string, --description] -> table { +export def search [input: string, description: bool] -> table { if (cmd exists "pacstall") { if $description { # We are searching for something in description diff --git a/rhino-pkg b/rhino-pkg index aa73a4f..7f7e017 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -82,6 +82,7 @@ def main [ ...rest: string # 'install', 'remove', 'search', 'update', 'cleanup', etc ] -> int { if ($rest | is-empty) { + print -e "Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." error make -u { msg: "No valid subcommand passed", label: { text: "Failed here", span: (metadata $rest).span } } exit 1 } @@ -94,10 +95,10 @@ def "main search" [ ] { use "/usr/share/rhino-pkg/modules/pluggables/" [pacstall flatpak] print "Searching pacstall..." - let pac_results = (pacstall search $rest --description) + let pac_results = (pacstall search $rest $description) screen clearscr print "Searching flatpak..." - let flatpak_results = (flatpak search $rest --description) + let flatpak_results = (flatpak search $rest $description) screen clearscr let total = $flatpak_results | append $pac_results mut idx = 0 From 3565cdf46ffeeff4dcee401fa7925978f6498292 Mon Sep 17 00:00:00 2001 From: Elsie Date: Wed, 16 Oct 2024 13:12:55 -0400 Subject: [PATCH 05/44] Add apt --- modules/pluggables/apt.nu | 39 +++++++++++++++++++++++++++++++++++++++ modules/pluggables/mod.nu | 1 + rhino-pkg | 7 +++++-- 3 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 modules/pluggables/apt.nu diff --git a/modules/pluggables/apt.nu b/modules/pluggables/apt.nu new file mode 100644 index 0000000..16d6e10 --- /dev/null +++ b/modules/pluggables/apt.nu @@ -0,0 +1,39 @@ +use "/usr/share/rhino-pkg/modules/lib/" [cmd] + +export def list-installed [] { + ^dpkg-query -W + | lines + | parse "{pkg}\t{version}" +} + +export def search [input: string, description: bool] -> table { + if (cmd exists "aptitude") { + if $description { + # We are searching for something in description + ^aptitude search --quiet --disable-columns '?name(visual) | ?description(visual) ?architecture(native) !?section(Pacstall)' -F "%p|%d" + | lines + | parse "{pkg}|{desc}" + | insert provider 'apt' + } else { + ^aptitude search --quiet --disable-columns '?name(visual) ?architecture(native) !?section(Pacstall)' -F "%p" + | lines + | parse "{pkg}" + | insert desc '' + | insert provider 'apt' + } + } else { + [] + } +} + +export def upgrade [--promptless] { + if (cmd exists "apt") { + if $promptless { + ^sudo apt update -y + ^sudo apt upgrade -y + } else { + ^sudo apt update + ^sudo apt upgrade + } + } +} diff --git a/modules/pluggables/mod.nu b/modules/pluggables/mod.nu index 26d0942..5d2a33a 100644 --- a/modules/pluggables/mod.nu +++ b/modules/pluggables/mod.nu @@ -1,4 +1,5 @@ # Apparently this is how it works export module pacstall.nu export module flatpak.nu +export module apt.nu export module snap.nu diff --git a/rhino-pkg b/rhino-pkg index 7f7e017..c491b0e 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -93,14 +93,17 @@ def "main search" [ --multiterm # Makes functions with search features use multiple terms, filtering by each term rest: string # Search query ] { - use "/usr/share/rhino-pkg/modules/pluggables/" [pacstall flatpak] + use "/usr/share/rhino-pkg/modules/pluggables/" [pacstall flatpak apt] print "Searching pacstall..." let pac_results = (pacstall search $rest $description) screen clearscr print "Searching flatpak..." let flatpak_results = (flatpak search $rest $description) screen clearscr - let total = $flatpak_results | append $pac_results + print "Searching apt..." + let apt_results = (apt search $rest $description) + screen clearscr + let total = $flatpak_results | append $apt_results | append $pac_results mut idx = 0 for bla in $total { let le_color = (cmd print-color $bla.provider) From efcb1fcc538944a01b39189029f49dba92006b2a Mon Sep 17 00:00:00 2001 From: Elsie Date: Mon, 28 Oct 2024 18:52:11 -0400 Subject: [PATCH 06/44] Snap starting --- modules/pluggables/snap.nu | 42 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/modules/pluggables/snap.nu b/modules/pluggables/snap.nu index e69de29..2ab21e7 100644 --- a/modules/pluggables/snap.nu +++ b/modules/pluggables/snap.nu @@ -0,0 +1,42 @@ +use "/usr/share/rhino-pkg/modules/lib/" [cmd] + +# TODO: Make this snap +export def list-installed [] { + ^flatpak list --app --columns=application:f + | lines + | uniq + | par-each { + |pkg| { + "name": $pkg, + "version": (^flatpak info $pkg + | grep Version + | str trim + | parse "{bla}: {version}" + | reject bla).version.0 + } + } +} + +export def search [input: string, description: bool] -> table { + if (cmd exists "snap") { + ^snap search $input + | detect columns + | get Name + | wrap 'package' + | insert description '' + | insert provider 'snap' + } else { + [] + } +} + +# TODO: Make this snap +export def upgrade [--promptless] { + if (cmd exists "flatpak") { + if $promptless { + ^flatpak update -y + } else { + ^flatpak update + } + } +} From ae515b79f257335e30fd97fad8d1b492e7dbd7e3 Mon Sep 17 00:00:00 2001 From: Elsie Date: Fri, 1 Nov 2024 10:56:38 -0400 Subject: [PATCH 07/44] Make snap work --- modules/pluggables/snap.nu | 36 +++++++++++------------------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/modules/pluggables/snap.nu b/modules/pluggables/snap.nu index 2ab21e7..d7cc1b3 100644 --- a/modules/pluggables/snap.nu +++ b/modules/pluggables/snap.nu @@ -1,42 +1,28 @@ use "/usr/share/rhino-pkg/modules/lib/" [cmd] -# TODO: Make this snap export def list-installed [] { - ^flatpak list --app --columns=application:f - | lines - | uniq - | par-each { - |pkg| { - "name": $pkg, - "version": (^flatpak info $pkg - | grep Version - | str trim - | parse "{bla}: {version}" - | reject bla).version.0 - } - } + ^snap list + | detect columns + | reject Rev Tracking Publisher Notes + | rename --column { Name: pkg } + | rename --column { Version: version } } export def search [input: string, description: bool] -> table { if (cmd exists "snap") { ^snap search $input - | detect columns - | get Name - | wrap 'package' - | insert description '' + | detect columns --guess + | reject Publisher Version + | rename --column { Name: pkg } + | rename --column { Summary: desc } | insert provider 'snap' } else { [] } } -# TODO: Make this snap export def upgrade [--promptless] { - if (cmd exists "flatpak") { - if $promptless { - ^flatpak update -y - } else { - ^flatpak update - } + if (cmd exists "snap") { + ^sudo snap refresh } } From 94272de6eb07643fc090b50ca07584469c6482db Mon Sep 17 00:00:00 2001 From: Elsie Date: Fri, 1 Nov 2024 10:59:29 -0400 Subject: [PATCH 08/44] Oop --- rhino-pkg | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/rhino-pkg b/rhino-pkg index c491b0e..2aabd6d 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -93,7 +93,7 @@ def "main search" [ --multiterm # Makes functions with search features use multiple terms, filtering by each term rest: string # Search query ] { - use "/usr/share/rhino-pkg/modules/pluggables/" [pacstall flatpak apt] + use "/usr/share/rhino-pkg/modules/pluggables/" [pacstall flatpak apt snap] print "Searching pacstall..." let pac_results = (pacstall search $rest $description) screen clearscr @@ -102,8 +102,10 @@ def "main search" [ screen clearscr print "Searching apt..." let apt_results = (apt search $rest $description) + print "Searching snap..." + let snap_results = (snap search $rest $description) screen clearscr - let total = $flatpak_results | append $apt_results | append $pac_results + let total = $snap_results | append $flatpak_results | append $apt_results | append $pac_results mut idx = 0 for bla in $total { let le_color = (cmd print-color $bla.provider) From cc1b23d5e27a0748224481ed2e5415d4d9081383 Mon Sep 17 00:00:00 2001 From: Elsie Date: Fri, 1 Nov 2024 13:15:58 -0400 Subject: [PATCH 09/44] Reorganize --- docs/adding_new_plug.md | 5 +++++ modules/lib/cmd.nu | 9 +++++++++ modules/lib/mod.nu | 1 + modules/lib/search.nu | 30 +++++++++++++++++++++++++++ modules/pluggables/apt.nu | 6 +++--- modules/pluggables/flatpak.nu | 6 +++--- modules/pluggables/pacstall.nu | 6 +++--- modules/pluggables/snap.nu | 6 +++--- rhino-pkg | 37 +++++++++++++++++----------------- 9 files changed, 75 insertions(+), 31 deletions(-) create mode 100644 docs/adding_new_plug.md create mode 100644 modules/lib/search.nu diff --git a/docs/adding_new_plug.md b/docs/adding_new_plug.md new file mode 100644 index 0000000..21d0a2c --- /dev/null +++ b/docs/adding_new_plug.md @@ -0,0 +1,5 @@ +# Adding new package manager plug + +1. Add a color to `modules/lib/cmd.nu`. +2. Add an entry to `modules/pluggables/mod.nu`. +2. Copy one of the files from `modules/pluggables/` and add it. diff --git a/modules/lib/cmd.nu b/modules/lib/cmd.nu index d41bf48..d1aa771 100644 --- a/modules/lib/cmd.nu +++ b/modules/lib/cmd.nu @@ -12,3 +12,12 @@ export def print-color [type: string] { _ => (ansi grey_bold) } } + +export def prompt [ask: string, index: int] -> int { + let input = (input $"($ask) [0-($index)]: ") + if ($input | is-empty) { + 0 + } else { + $input + } +} diff --git a/modules/lib/mod.nu b/modules/lib/mod.nu index 036dae6..1a57a71 100644 --- a/modules/lib/mod.nu +++ b/modules/lib/mod.nu @@ -1,2 +1,3 @@ export module screen.nu export module cmd.nu +export module search.nu diff --git a/modules/lib/search.nu b/modules/lib/search.nu new file mode 100644 index 0000000..d9cb88e --- /dev/null +++ b/modules/lib/search.nu @@ -0,0 +1,30 @@ +use "/usr/share/rhino-pkg/modules/lib/screen.nu" [clearscr] +use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [print-color] + +export def search-pkgs [ + --description (-d) + --multiterm + rest: string +] -> table { + use "/usr/share/rhino-pkg/modules/pluggables/" [pacstall flatpak apt snap] + print "Searching pacstall..." + let pac_results = (pacstall search $rest $description) + clearscr + print "Searching flatpak..." + let flatpak_results = (flatpak search $rest $description) + clearscr + print "Searching apt..." + let apt_results = (apt search $rest $description) + print "Searching snap..." + let snap_results = (snap search $rest $description) + clearscr + let total = $snap_results | append $flatpak_results | append $apt_results | append $pac_results + mut idx = 0 + for bla in $total { + let le_color = (print-color $bla.provider) + print $"[($le_color)($idx)(ansi reset)]: ($bla.pkg) \(($le_color)($bla.provider)(ansi reset)\)" + $idx += 1 + } + # Just because someone else might need the table. + return $total +} diff --git a/modules/pluggables/apt.nu b/modules/pluggables/apt.nu index 16d6e10..2d2c39d 100644 --- a/modules/pluggables/apt.nu +++ b/modules/pluggables/apt.nu @@ -1,4 +1,4 @@ -use "/usr/share/rhino-pkg/modules/lib/" [cmd] +use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [exists] export def list-installed [] { ^dpkg-query -W @@ -7,7 +7,7 @@ export def list-installed [] { } export def search [input: string, description: bool] -> table { - if (cmd exists "aptitude") { + if (exists "aptitude") { if $description { # We are searching for something in description ^aptitude search --quiet --disable-columns '?name(visual) | ?description(visual) ?architecture(native) !?section(Pacstall)' -F "%p|%d" @@ -27,7 +27,7 @@ export def search [input: string, description: bool] -> table { } export def upgrade [--promptless] { - if (cmd exists "apt") { + if (exists "apt") { if $promptless { ^sudo apt update -y ^sudo apt upgrade -y diff --git a/modules/pluggables/flatpak.nu b/modules/pluggables/flatpak.nu index 0f7c068..8b26a4d 100644 --- a/modules/pluggables/flatpak.nu +++ b/modules/pluggables/flatpak.nu @@ -1,4 +1,4 @@ -use "/usr/share/rhino-pkg/modules/lib/" [cmd] +use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [exists] export def list-installed [] { ^flatpak list --app --columns=application:f @@ -19,7 +19,7 @@ export def list-installed [] { export def search [input: string, description: bool] -> table { # Description here is a dummy flag, because flatpak searches by both name and description with no way # to change that afaik. - if (cmd exists "flatpak") { + if (exists "flatpak") { ^flatpak search $input --columns=application:f,remotes:f | lines | parse -r '^([\w.-]+)\s+(\w+)$' @@ -34,7 +34,7 @@ export def search [input: string, description: bool] -> table { } export def upgrade [--promptless] { - if (cmd exists "flatpak") { + if (exists "flatpak") { if $promptless { ^flatpak update -y } else { diff --git a/modules/pluggables/pacstall.nu b/modules/pluggables/pacstall.nu index 279e26a..2f46dcf 100644 --- a/modules/pluggables/pacstall.nu +++ b/modules/pluggables/pacstall.nu @@ -1,4 +1,4 @@ -use "/usr/share/rhino-pkg/modules/lib/" [cmd] +use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [exists] export def list-installed [] { # I'm using par-each because it's wayyy quicker and I can just sort the stuff afterwards @@ -13,7 +13,7 @@ export def list-installed [] { } export def search [input: string, description: bool] -> table { - if (cmd exists "pacstall") { + if (exists "pacstall") { if $description { # We are searching for something in description ^pacstall -Sd $input @@ -36,7 +36,7 @@ export def search [input: string, description: bool] -> table { } export def upgrade [--promptless] { - if (cmd exists "pacstall") { + if (exists "pacstall") { if $promptless { ^pacstall -PUp } else { diff --git a/modules/pluggables/snap.nu b/modules/pluggables/snap.nu index d7cc1b3..bf4fbc5 100644 --- a/modules/pluggables/snap.nu +++ b/modules/pluggables/snap.nu @@ -1,4 +1,4 @@ -use "/usr/share/rhino-pkg/modules/lib/" [cmd] +use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [exists] export def list-installed [] { ^snap list @@ -9,7 +9,7 @@ export def list-installed [] { } export def search [input: string, description: bool] -> table { - if (cmd exists "snap") { + if (exists "snap") { ^snap search $input | detect columns --guess | reject Publisher Version @@ -22,7 +22,7 @@ export def search [input: string, description: bool] -> table { } export def upgrade [--promptless] { - if (cmd exists "snap") { + if (exists "snap") { ^sudo snap refresh } } diff --git a/rhino-pkg b/rhino-pkg index 2aabd6d..8a270c3 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -1,6 +1,7 @@ #!/usr/bin/env nu -use "/usr/share/rhino-pkg/modules/lib/" [screen, cmd] +use "/usr/share/rhino-pkg/modules/lib/" [search] +use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [prompt] # USAGE: rpk [function] {flag} # @@ -93,23 +94,21 @@ def "main search" [ --multiterm # Makes functions with search features use multiple terms, filtering by each term rest: string # Search query ] { - use "/usr/share/rhino-pkg/modules/pluggables/" [pacstall flatpak apt snap] - print "Searching pacstall..." - let pac_results = (pacstall search $rest $description) - screen clearscr - print "Searching flatpak..." - let flatpak_results = (flatpak search $rest $description) - screen clearscr - print "Searching apt..." - let apt_results = (apt search $rest $description) - print "Searching snap..." - let snap_results = (snap search $rest $description) - screen clearscr - let total = $snap_results | append $flatpak_results | append $apt_results | append $pac_results - mut idx = 0 - for bla in $total { - let le_color = (cmd print-color $bla.provider) - print $"[($le_color)($idx)(ansi reset)]: ($bla.pkg) \(($le_color)($bla.provider)(ansi reset)\)" - $idx += 1 + # Block output from `return` here. + let dummy = (search search-pkgs --description --multiterm $rest) +} + +def "main install" [ + --description (-d) # Increase range and display packages with in their description + --multiterm # Makes functions with search features use multiple terms, filtering by each term + rest: string # Search query +] { + # Block output from `return` here. + let dummy = (search search-pkgs --description --multiterm $rest) + let which = (prompt "Select which package to install" (($dummy | length) - 1)) + # Did the user input something stupid? + if (($which | into int) not-in (seq 0 (($dummy | length) - 1))) { + print -e $"'packages[($which)]' does not exist" + exit 1 } } From b8c1ae0c7115f898a18f01e1d49b2a0748e3dde5 Mon Sep 17 00:00:00 2001 From: Elsie Date: Fri, 1 Nov 2024 16:40:53 -0400 Subject: [PATCH 10/44] Add install functionality --- modules/lib/cmd.nu | 39 +++++++++++++++++++++++++++++++++++++++ modules/lib/search.nu | 3 +-- rhino-pkg | 20 ++++++++++---------- 3 files changed, 50 insertions(+), 12 deletions(-) diff --git a/modules/lib/cmd.nu b/modules/lib/cmd.nu index d1aa771..27bb9e1 100644 --- a/modules/lib/cmd.nu +++ b/modules/lib/cmd.nu @@ -21,3 +21,42 @@ export def prompt [ask: string, index: int] -> int { $input } } + +export def install-pkg [ + pkg: record, + promptless: bool + ] { + match $pkg.provider { + "pacstall" => { + if $promptless { + (^pacstall -PI $"($pkg.pkg)@($pkg.repo)") + } else { + (^pacstall -I $"($pkg.pkg)@($pkg.repo)") + } + } + "apt" => { + if $promptless { + (^sudo apt install $pkg.pkg -y) + } else { + (^sudo apt install $pkg.pkg) + } + } + "flatpak" => { + if $promptless { + (^flatpak install $pkg.remote $pkg.pkg -y) + } else { + (^flatpak install $pkg.remote $pkg.pkg) + } + } + # So snap is weird because some packages need classic installation + # ref: [https://github.com/rhino-linux/rhino-pkg/issues/46]. + # But on the plus side it doesn't have the ability for -y. + "snap" => { + if ($pkg.Notes == "classic") { + (^sudo snap install --classic $pkg.pkg) + } else { + (^sudo snap install $pkg.pkg) + } + } + } +} diff --git a/modules/lib/search.nu b/modules/lib/search.nu index d9cb88e..9e02a04 100644 --- a/modules/lib/search.nu +++ b/modules/lib/search.nu @@ -2,8 +2,7 @@ use "/usr/share/rhino-pkg/modules/lib/screen.nu" [clearscr] use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [print-color] export def search-pkgs [ - --description (-d) - --multiterm + description: bool rest: string ] -> table { use "/usr/share/rhino-pkg/modules/pluggables/" [pacstall flatpak apt snap] diff --git a/rhino-pkg b/rhino-pkg index 8a270c3..bcc0f89 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -1,7 +1,7 @@ #!/usr/bin/env nu use "/usr/share/rhino-pkg/modules/lib/" [search] -use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [prompt] +use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [prompt, install-pkg] # USAGE: rpk [function] {flag} # @@ -30,8 +30,6 @@ use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [prompt] # flags: # --help/-h: Display this page # -# --multiterm For commands with package search functionality, switches them to accept multiple arguments as additional filtering on a single search -# # --description/-d: By default, rpk will only display packages # that contain within their name. Use this flag to increase # range and display packages with in their description. @@ -79,7 +77,6 @@ use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [prompt] def main [ --description (-d) # Increase range and display packages with in their description --yes (-y) # Makes functions with confirmation prompts run promptless - --multiterm # Makes functions with search features use multiple terms, filtering by each term ...rest: string # 'install', 'remove', 'search', 'update', 'cleanup', etc ] -> int { if ($rest | is-empty) { @@ -91,24 +88,27 @@ def main [ def "main search" [ --description (-d) # Increase range and display packages with in their description - --multiterm # Makes functions with search features use multiple terms, filtering by each term rest: string # Search query ] { # Block output from `return` here. - let dummy = (search search-pkgs --description --multiterm $rest) + let dummy = (search search-pkgs $description $rest) } def "main install" [ --description (-d) # Increase range and display packages with in their description - --multiterm # Makes functions with search features use multiple terms, filtering by each term rest: string # Search query ] { # Block output from `return` here. - let dummy = (search search-pkgs --description --multiterm $rest) - let which = (prompt "Select which package to install" (($dummy | length) - 1)) + let dummy = (search search-pkgs $description $rest) + let which = (prompt "Select which package to install" (($dummy | length) - 1) | into int) # Did the user input something stupid? - if (($which | into int) not-in (seq 0 (($dummy | length) - 1))) { + if ($which not-in (seq 0 (($dummy | length) - 1))) { print -e $"'packages[($which)]' does not exist" exit 1 } + let pkg = ($dummy + | enumerate + | get $which + | get item) + install-pkg $pkg $description } From 106c8f40af2006ccde1b833efbf67a1dd2f4719e Mon Sep 17 00:00:00 2001 From: Elsie Date: Fri, 1 Nov 2024 19:28:21 -0400 Subject: [PATCH 11/44] Add cleanup --- modules/lib/cmd.nu | 28 ++++++++++++++++++++++++++++ modules/pluggables/apt.nu | 4 ++-- rhino-pkg | 23 ++++++++++++++++------- 3 files changed, 46 insertions(+), 9 deletions(-) diff --git a/modules/lib/cmd.nu b/modules/lib/cmd.nu index 27bb9e1..df53d64 100644 --- a/modules/lib/cmd.nu +++ b/modules/lib/cmd.nu @@ -60,3 +60,31 @@ export def install-pkg [ } } } + +export def cleanup-pkg [promptless: bool] { + if $promptless { + if (exists "apt") { + ^sudo apt --fix-broken install + ^sudo apt apt-remove -y + } + if (exists "flatpak") { + ^sudo flatpak repair + ^sudo flatpak uninstall --unused -y + } + } else { + if (exists "apt") { + ^sudo apt --fix-broken install + ^sudo apt apt-remove + } + if (exists "flatpak") { + ^sudo flatpak repair + ^sudo flatpak uninstall --unused + } + } + if (exists "snap") { + ^snap list --all + | detect columns + | where Notes =~ "disabled" + | each {|pkg| ^sudo snap remove $pkg.Name} + } +} diff --git a/modules/pluggables/apt.nu b/modules/pluggables/apt.nu index 2d2c39d..b8cf840 100644 --- a/modules/pluggables/apt.nu +++ b/modules/pluggables/apt.nu @@ -10,12 +10,12 @@ export def search [input: string, description: bool] -> table { if (exists "aptitude") { if $description { # We are searching for something in description - ^aptitude search --quiet --disable-columns '?name(visual) | ?description(visual) ?architecture(native) !?section(Pacstall)' -F "%p|%d" + ^aptitude search --quiet --disable-columns $"?name\(($input)\) | ?description\(($input)\) ?architecture\(native\) !?section\(Pacstall\)" -F "%p|%d" | lines | parse "{pkg}|{desc}" | insert provider 'apt' } else { - ^aptitude search --quiet --disable-columns '?name(visual) ?architecture(native) !?section(Pacstall)' -F "%p" + ^aptitude search --quiet --disable-columns $"?name\(($input)\) ?architecture\(native\) !?section\(Pacstall\)" -F "%p" | lines | parse "{pkg}" | insert desc '' diff --git a/rhino-pkg b/rhino-pkg index bcc0f89..7db13d5 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -1,31 +1,26 @@ #!/usr/bin/env nu use "/usr/share/rhino-pkg/modules/lib/" [search] -use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [prompt, install-pkg] +use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [prompt, install-pkg, cleanup-pkg] # USAGE: rpk [function] {flag} # # functions: # install: Install package(s) - Prompts user to respond with # the number(s) associated with the desired package(s). -# Aliases: nstl, instll, instl, add, i # # remove: Uninstall package(s) - Prompts user to respond with # the number(s) associated with the desired package(s). -# Aliases: rm, rmv, uninstall, r # # search: Search for package(s) - Does not have a second prompt. -# Aliases: srch, find, s # # update: Updates all packages accessible to the wrapper - does # not accept , instead use install to update # individual packages. Has a confirmation prompt. -# Aliases: upgrade, updt, upd, upg, u # # cleanup: Attempts to repair broken dependencies and remove any # unused packages. Does not accept , but has # a confirmation prompt. -# Aliases: clean, clnp, cln, c # # flags: # --help/-h: Display this page @@ -96,6 +91,7 @@ def "main search" [ def "main install" [ --description (-d) # Increase range and display packages with in their description + --yes (-y) # Makes functions with confirmation prompts run promptless rest: string # Search query ] { # Block output from `return` here. @@ -110,5 +106,18 @@ def "main install" [ | enumerate | get $which | get item) - install-pkg $pkg $description + install-pkg $pkg $yes +} + +def "main cleanup" [ + --yes (-y) # Makes functions with confirmation prompts run promptless +] { + if not $yes { + if (input $"Attempting to repair dependencies and remove unused packages. Continue? \((ansi green_bold)y(ansi reset)/(ansi red_bold)N(ansi reset)\) " + | str downcase + | starts-with "n") { + exit 1 + } + } + cleanup-pkg $yes } From 9b4325a2b134db9b4db14d3c5fe7532981c70f55 Mon Sep 17 00:00:00 2001 From: Elsie Date: Sat, 2 Nov 2024 10:40:21 -0400 Subject: [PATCH 12/44] Add remove --- modules/lib/cmd.nu | 34 +++++++++++++++++++++++++++++++++- modules/lib/search.nu | 25 +++++++++++++++++++++++++ modules/pluggables/apt.nu | 11 +++++++---- modules/pluggables/flatpak.nu | 23 +++++++++-------------- modules/pluggables/pacstall.nu | 22 +++++++++++++--------- modules/pluggables/snap.nu | 16 ++++++++++------ rhino-pkg | 21 ++++++++++++++++++++- 7 files changed, 117 insertions(+), 35 deletions(-) diff --git a/modules/lib/cmd.nu b/modules/lib/cmd.nu index df53d64..2df72f5 100644 --- a/modules/lib/cmd.nu +++ b/modules/lib/cmd.nu @@ -61,6 +61,38 @@ export def install-pkg [ } } +export def remove-pkg [ + pkg: record, + promptless: bool + ] { + match $pkg.provider { + "pacstall" => { + if $promptless { + (^pacstall -PR $pkg.pkg) + } else { + (^pacstall -R $pkg.pkg) + } + } + "apt" => { + if $promptless { + (^sudo apt remove $pkg.pkg -y) + } else { + (^sudo apt remove $pkg.pkg) + } + } + "flatpak" => { + if $promptless { + (^flatpak remove $pkg.pkg -y) + } else { + (^flatpak remove $pkg.pkg) + } + } + "snap" => { + (^sudo snap remove $pkg.pkg --purge) + } + } +} + export def cleanup-pkg [promptless: bool] { if $promptless { if (exists "apt") { @@ -85,6 +117,6 @@ export def cleanup-pkg [promptless: bool] { ^snap list --all | detect columns | where Notes =~ "disabled" - | each {|pkg| ^sudo snap remove $pkg.Name} + | each {|pkg| ^sudo snap remove $pkg.Name --revision=($pkg.Version)} } } diff --git a/modules/lib/search.nu b/modules/lib/search.nu index 9e02a04..fae317f 100644 --- a/modules/lib/search.nu +++ b/modules/lib/search.nu @@ -27,3 +27,28 @@ export def search-pkgs [ # Just because someone else might need the table. return $total } + +export def search-local-pkgs [search: string] -> table { + use "/usr/share/rhino-pkg/modules/pluggables/" [pacstall flatpak apt snap] + print "Searching pacstall..." + let pac_results = (pacstall list-installed $search) + clearscr + print "Searching flatpak..." + let flatpak_results = (flatpak list-installed $search) + clearscr + print "Searching apt..." + let apt_results = (apt list-installed $search) + print "Searching snap..." + let snap_results = (snap list-installed $search) + clearscr + let total = $snap_results | append $flatpak_results | append $apt_results | append $pac_results + mut idx = 0 + print $total + for bla in $total { + let le_color = (print-color $bla.provider) + print $"[($le_color)($idx)(ansi reset)]: ($bla.pkg) \(($le_color)($bla.provider)(ansi reset)\)" + $idx += 1 + } + # Just because someone else might need the table. + return $total +} diff --git a/modules/pluggables/apt.nu b/modules/pluggables/apt.nu index b8cf840..d50b41a 100644 --- a/modules/pluggables/apt.nu +++ b/modules/pluggables/apt.nu @@ -1,9 +1,12 @@ use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [exists] -export def list-installed [] { - ^dpkg-query -W - | lines - | parse "{pkg}\t{version}" +export def list-installed [search: string] { + if (exists "aptitude") { + ^aptitude search $"~i($search) !?section\(Pacstall\)" -F '%p|%v' + | lines + | parse "{pkg}|{version}" + | insert provider "apt" + } } export def search [input: string, description: bool] -> table { diff --git a/modules/pluggables/flatpak.nu b/modules/pluggables/flatpak.nu index 8b26a4d..f2e37b7 100644 --- a/modules/pluggables/flatpak.nu +++ b/modules/pluggables/flatpak.nu @@ -1,19 +1,14 @@ use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [exists] -export def list-installed [] { - ^flatpak list --app --columns=application:f - | lines - | uniq - | par-each { - |pkg| { - "name": $pkg, - "version": (^flatpak info $pkg - | grep Version - | str trim - | parse "{bla}: {version}" - | reject bla).version.0 - } - } +export def list-installed [search: string] { + if (exists "flatpak") { + ^flatpak list --columns=application:f,version:f --app + | lines + | uniq + | parse "{pkg}\t{version}" + | where pkg =~ $search + | insert provider "flatpak" + } } export def search [input: string, description: bool] -> table { diff --git a/modules/pluggables/pacstall.nu b/modules/pluggables/pacstall.nu index 2f46dcf..bfd232b 100644 --- a/modules/pluggables/pacstall.nu +++ b/modules/pluggables/pacstall.nu @@ -1,15 +1,19 @@ use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [exists] -export def list-installed [] { +export def list-installed [search: string] { # I'm using par-each because it's wayyy quicker and I can just sort the stuff afterwards - ^pacstall -L - | lines - | par-each { - |pkg| { - "name": $pkg, - "version": (^pacstall -Ci $pkg version) - } - } | sort-by name + if (exists "pacstall") { + ^pacstall -L + | lines + | par-each { + |pkg| { + "pkg": $pkg, + "version": (^pacstall -Ci $pkg version) + } + } | sort-by pkg + | where pkg =~ $search + | insert provider "pacstall" + } } export def search [input: string, description: bool] -> table { diff --git a/modules/pluggables/snap.nu b/modules/pluggables/snap.nu index bf4fbc5..3b33e56 100644 --- a/modules/pluggables/snap.nu +++ b/modules/pluggables/snap.nu @@ -1,11 +1,15 @@ use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [exists] -export def list-installed [] { - ^snap list - | detect columns - | reject Rev Tracking Publisher Notes - | rename --column { Name: pkg } - | rename --column { Version: version } +export def list-installed [search: string] { + if (exists "snap") { + ^snap list + | detect columns + | reject Rev Tracking Publisher Notes + | rename --column { Name: pkg } + | rename --column { Version: version } + | where pkg =~ $search + | insert provider "snap" + } } export def search [input: string, description: bool] -> table { diff --git a/rhino-pkg b/rhino-pkg index 7db13d5..e2499be 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -1,7 +1,7 @@ #!/usr/bin/env nu use "/usr/share/rhino-pkg/modules/lib/" [search] -use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [prompt, install-pkg, cleanup-pkg] +use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [prompt, install-pkg, cleanup-pkg, remove-pkg] # USAGE: rpk [function] {flag} # @@ -109,6 +109,25 @@ def "main install" [ install-pkg $pkg $yes } +def "main remove" [ + --yes (-y) # Makes functions with confirmation prompts run promptless + rest: string # Search query +] { + # Block output from `return` here. + let dummy = (search search-local-pkgs $rest) + let which = (prompt "Select which package to remove" (($dummy | length) - 1) | into int) + # Did the user input something stupid? + if ($which not-in (seq 0 (($dummy | length) - 1))) { + print -e $"'packages[($which)]' does not exist" + exit 1 + } + let pkg = ($dummy + | enumerate + | get $which + | get item) + remove-pkg $pkg $yes +} + def "main cleanup" [ --yes (-y) # Makes functions with confirmation prompts run promptless ] { From 72f0590726e415e2d3e91e25c608ce5874260aa3 Mon Sep 17 00:00:00 2001 From: Elsie Date: Sat, 2 Nov 2024 11:05:15 -0400 Subject: [PATCH 13/44] Add messages explaining why nothing is found --- modules/lib/search.nu | 1 - rhino-pkg | 8 ++++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/lib/search.nu b/modules/lib/search.nu index fae317f..b7f96a9 100644 --- a/modules/lib/search.nu +++ b/modules/lib/search.nu @@ -43,7 +43,6 @@ export def search-local-pkgs [search: string] -> table { clearscr let total = $snap_results | append $flatpak_results | append $apt_results | append $pac_results mut idx = 0 - print $total for bla in $total { let le_color = (print-color $bla.provider) print $"[($le_color)($idx)(ansi reset)]: ($bla.pkg) \(($le_color)($bla.provider)(ansi reset)\)" diff --git a/rhino-pkg b/rhino-pkg index e2499be..dd7ec5f 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -96,6 +96,10 @@ def "main install" [ ] { # Block output from `return` here. let dummy = (search search-pkgs $description $rest) + if (($dummy | length) <= 0) { + print -e $"No packages found matching '($rest)'" + return + } let which = (prompt "Select which package to install" (($dummy | length) - 1) | into int) # Did the user input something stupid? if ($which not-in (seq 0 (($dummy | length) - 1))) { @@ -115,6 +119,10 @@ def "main remove" [ ] { # Block output from `return` here. let dummy = (search search-local-pkgs $rest) + if (($dummy | length) <= 0) { + print -e $"No packages found matching '($rest)'" + return + } let which = (prompt "Select which package to remove" (($dummy | length) - 1) | into int) # Did the user input something stupid? if ($which not-in (seq 0 (($dummy | length) - 1))) { From 19c7a2175ebcb3da0ec351e6aaf682888d9d5107 Mon Sep 17 00:00:00 2001 From: Elsie Date: Sat, 2 Nov 2024 11:09:12 -0400 Subject: [PATCH 14/44] Sparklez --- modules/lib/search.nu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/lib/search.nu b/modules/lib/search.nu index b7f96a9..b67a321 100644 --- a/modules/lib/search.nu +++ b/modules/lib/search.nu @@ -45,7 +45,7 @@ export def search-local-pkgs [search: string] -> table { mut idx = 0 for bla in $total { let le_color = (print-color $bla.provider) - print $"[($le_color)($idx)(ansi reset)]: ($bla.pkg) \(($le_color)($bla.provider)(ansi reset)\)" + print $"[($le_color)($idx)(ansi reset)]: ($bla.pkg) ~ ($bla.version | ansi gradient --fgstart '0x40c9ff' --fgend '0xe81cff') \(($le_color)($bla.provider)(ansi reset)\)" $idx += 1 } # Just because someone else might need the table. From d722fbf7be08419573677cc15565c3ee86792178 Mon Sep 17 00:00:00 2001 From: Elsie Date: Sat, 2 Nov 2024 16:47:23 -0400 Subject: [PATCH 15/44] Add multi select --- README.md | 56 ++++++++++++++++++++++++++++++++++++++++++++++ modules/lib/cmd.nu | 21 +++++++++++++---- rhino-pkg | 28 +++++++---------------- 3 files changed, 81 insertions(+), 24 deletions(-) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..be8c9bd --- /dev/null +++ b/README.md @@ -0,0 +1,56 @@ +# rhino-pkg +placeholder-rpk + +A package manager wrapper for Pacstall, APT, Flatpak and snap. + +### Usage +``` +USAGE: rhino-pkg [function] {flag} + +functions: + install: Install package(s) - Prompts user to respond with + the number(s) associated with the desired package(s). + + remove: Uninstall package(s) - Prompts user to respond with + the number(s) associated with the desired package(s). + + search: Search for package(s) - Does not have a second prompt. + + update: Updates all packages accessible to the wrapper - does + not accept , instead use install to update + individual packages. Has a confirmation prompt. + + cleanup: Attempts to repair broken dependencies and remove any + unused packages. Does not accept , but has + a confirmation prompt. + +flags: + --help/-h: Display this page + + --description/-d: By default, rhino-pkg will only display packages + that contain within their name. Use this flag to increase + range and display packages with in their description. + + -y: Makes functions with confirmation prompts run promptless. + +input: + Provide a package name or description. + +Example execution: + $ rhino-pkg install foobar + Found packages matching 'foobar': + + [0]: pyfoobar (apt) + [1]: foobarshell (apt) + [2]: foobar (flatpak) + [3]: foobar-web (snap) + [4]: foobar-bin (pacstall) + [5]: foobar-theme (pacstall) + + Select which package to install [0-5]: 3 4 5 + Selecting 'foobar-web' from package manager 'snap' + Selecting 'foobar-bin' from package manager 'pacstall' + Selecting 'foobar-theme' from package manager 'pacstall' + Are you sure? (y/N) + [...] +``` diff --git a/modules/lib/cmd.nu b/modules/lib/cmd.nu index 2df72f5..e927cbe 100644 --- a/modules/lib/cmd.nu +++ b/modules/lib/cmd.nu @@ -13,12 +13,25 @@ export def print-color [type: string] { } } -export def prompt [ask: string, index: int] -> int { - let input = (input $"($ask) [0-($index)]: ") +export def prompt [ask: string, pkgs: table] -> table { + let input = (input $"($ask) [0-($pkgs | length)]: ") if ($input | is-empty) { - 0 + [($pkgs | enumerate).0.item] } else { - $input + let parsed = ($input + | split row ' ' + | find --regex "[0-9]+" --regex "^[0-9]+" + | into int + | filter {|key| $key in 0..<($pkgs | length)} + ) + if ($parsed | is-empty) { + print -e "No valid inputs given" + exit 1 + } + $pkgs + | enumerate + | where index in $parsed + | flatten } } diff --git a/rhino-pkg b/rhino-pkg index dd7ec5f..5c17af7 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -100,17 +100,11 @@ def "main install" [ print -e $"No packages found matching '($rest)'" return } - let which = (prompt "Select which package to install" (($dummy | length) - 1) | into int) - # Did the user input something stupid? - if ($which not-in (seq 0 (($dummy | length) - 1))) { - print -e $"'packages[($which)]' does not exist" - exit 1 + let which = (prompt "Select which package to install" $dummy) + $which | each {|part| + print $"Installing '($part.pkg)' from '($part.provider)'" + install-pkg ($part | reject index) $yes } - let pkg = ($dummy - | enumerate - | get $which - | get item) - install-pkg $pkg $yes } def "main remove" [ @@ -123,17 +117,11 @@ def "main remove" [ print -e $"No packages found matching '($rest)'" return } - let which = (prompt "Select which package to remove" (($dummy | length) - 1) | into int) - # Did the user input something stupid? - if ($which not-in (seq 0 (($dummy | length) - 1))) { - print -e $"'packages[($which)]' does not exist" - exit 1 + let which = (prompt "Select which package to remove" $dummy) + $which | each {|part| + print $"Removing '($part.pkg)' from '($part.provider)'" + remove-pkg ($part | reject index) $yes } - let pkg = ($dummy - | enumerate - | get $which - | get item) - remove-pkg $pkg $yes } def "main cleanup" [ From dae443b5e64e35bc0f28a02b5df5576714acc992 Mon Sep 17 00:00:00 2001 From: Elsie Date: Sat, 2 Nov 2024 16:53:35 -0400 Subject: [PATCH 16/44] Fix stuff --- modules/lib/cmd.nu | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/modules/lib/cmd.nu b/modules/lib/cmd.nu index e927cbe..eb021ce 100644 --- a/modules/lib/cmd.nu +++ b/modules/lib/cmd.nu @@ -13,8 +13,8 @@ export def print-color [type: string] { } } -export def prompt [ask: string, pkgs: table] -> table { - let input = (input $"($ask) [0-($pkgs | length)]: ") +export def prompt [ask: string, pkgs: list] -> table { + let input = (input $"($ask) [0-(($pkgs | length) - 1)]: ") if ($input | is-empty) { [($pkgs | enumerate).0.item] } else { @@ -42,23 +42,23 @@ export def install-pkg [ match $pkg.provider { "pacstall" => { if $promptless { - (^pacstall -PI $"($pkg.pkg)@($pkg.repo)") + ^pacstall -PI $"($pkg.pkg)@($pkg.repo)" } else { - (^pacstall -I $"($pkg.pkg)@($pkg.repo)") + ^pacstall -I $"($pkg.pkg)@($pkg.repo)" } } "apt" => { if $promptless { - (^sudo apt install $pkg.pkg -y) + ^sudo apt install $pkg.pkg -y } else { - (^sudo apt install $pkg.pkg) + ^sudo apt install $pkg.pkg } } "flatpak" => { if $promptless { - (^flatpak install $pkg.remote $pkg.pkg -y) + ^flatpak install $pkg.remote $pkg.pkg -y } else { - (^flatpak install $pkg.remote $pkg.pkg) + ^flatpak install $pkg.remote $pkg.pkg } } # So snap is weird because some packages need classic installation @@ -66,9 +66,9 @@ export def install-pkg [ # But on the plus side it doesn't have the ability for -y. "snap" => { if ($pkg.Notes == "classic") { - (^sudo snap install --classic $pkg.pkg) + ^sudo snap install --classic $pkg.pkg } else { - (^sudo snap install $pkg.pkg) + ^sudo snap install $pkg.pkg } } } @@ -81,27 +81,27 @@ export def remove-pkg [ match $pkg.provider { "pacstall" => { if $promptless { - (^pacstall -PR $pkg.pkg) + ^pacstall -PR $pkg.pkg } else { - (^pacstall -R $pkg.pkg) + ^pacstall -R $pkg.pkg } } "apt" => { if $promptless { - (^sudo apt remove $pkg.pkg -y) + ^sudo apt remove $pkg.pkg -y } else { - (^sudo apt remove $pkg.pkg) + ^sudo apt remove $pkg.pkg } } "flatpak" => { if $promptless { - (^flatpak remove $pkg.pkg -y) + ^flatpak remove $pkg.pkg -y } else { - (^flatpak remove $pkg.pkg) + ^flatpak remove $pkg.pkg } } "snap" => { - (^sudo snap remove $pkg.pkg --purge) + ^sudo snap remove $pkg.pkg --purge } } } From 15d60f7c459cdfdf08cbbdb97229096e89a01fe3 Mon Sep 17 00:00:00 2001 From: Elsie Date: Sat, 2 Nov 2024 16:57:30 -0400 Subject: [PATCH 17/44] Fix more stuff? --- modules/lib/cmd.nu | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/lib/cmd.nu b/modules/lib/cmd.nu index eb021ce..c591f95 100644 --- a/modules/lib/cmd.nu +++ b/modules/lib/cmd.nu @@ -49,9 +49,9 @@ export def install-pkg [ } "apt" => { if $promptless { - ^sudo apt install $pkg.pkg -y + ^sudo apt-get install $pkg.pkg -y } else { - ^sudo apt install $pkg.pkg + ^sudo apt-get install $pkg.pkg } } "flatpak" => { @@ -88,9 +88,9 @@ export def remove-pkg [ } "apt" => { if $promptless { - ^sudo apt remove $pkg.pkg -y + ^sudo apt-get remove $pkg.pkg -y } else { - ^sudo apt remove $pkg.pkg + ^sudo apt-get remove $pkg.pkg } } "flatpak" => { @@ -109,8 +109,8 @@ export def remove-pkg [ export def cleanup-pkg [promptless: bool] { if $promptless { if (exists "apt") { - ^sudo apt --fix-broken install - ^sudo apt apt-remove -y + ^sudo apt-get --fix-broken install + ^sudo apt-get apt-remove -y } if (exists "flatpak") { ^sudo flatpak repair @@ -118,8 +118,8 @@ export def cleanup-pkg [promptless: bool] { } } else { if (exists "apt") { - ^sudo apt --fix-broken install - ^sudo apt apt-remove + ^sudo apt-get --fix-broken install + ^sudo apt-get apt-remove } if (exists "flatpak") { ^sudo flatpak repair From 0aef0314d247b400b74383a700d4a697f67b711f Mon Sep 17 00:00:00 2001 From: Elsie Date: Sat, 2 Nov 2024 17:05:23 -0400 Subject: [PATCH 18/44] Lets try this --- rhino-pkg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rhino-pkg b/rhino-pkg index 5c17af7..fc57e25 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -101,7 +101,7 @@ def "main install" [ return } let which = (prompt "Select which package to install" $dummy) - $which | each {|part| + for part in $which { print $"Installing '($part.pkg)' from '($part.provider)'" install-pkg ($part | reject index) $yes } From 43e6af1d58247e4f8a9d2abb62015e1e65c3b1c1 Mon Sep 17 00:00:00 2001 From: Elsie Date: Sat, 2 Nov 2024 17:19:33 -0400 Subject: [PATCH 19/44] Show message --- rhino-pkg | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/rhino-pkg b/rhino-pkg index fc57e25..09fd90c 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -103,7 +103,12 @@ def "main install" [ let which = (prompt "Select which package to install" $dummy) for part in $which { print $"Installing '($part.pkg)' from '($part.provider)'" - install-pkg ($part | reject index) $yes + try { + install-pkg ($part | reject index) $yes + } catch { + |err| + print -e $"Failed to install '($part.pkg)' with error message:\n\n($err.msg)" + } } } From 4f59720163a8b3a962431653bf2c4ad9b799407c Mon Sep 17 00:00:00 2001 From: Elsie Date: Sat, 2 Nov 2024 17:29:31 -0400 Subject: [PATCH 20/44] Shmorp error line --- rhino-pkg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rhino-pkg b/rhino-pkg index 09fd90c..1733c91 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -107,7 +107,7 @@ def "main install" [ install-pkg ($part | reject index) $yes } catch { |err| - print -e $"Failed to install '($part.pkg)' with error message:\n\n($err.msg)" + print -e $"Failed to install '($part.pkg)'." } } } From 5d53fc0acdb18c2fa14536adfe3f86dd0bc6c5ca Mon Sep 17 00:00:00 2001 From: Elsie Date: Sat, 2 Nov 2024 17:48:37 -0400 Subject: [PATCH 21/44] Exit code? --- rhino-pkg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rhino-pkg b/rhino-pkg index 1733c91..cb190ed 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -103,11 +103,11 @@ def "main install" [ let which = (prompt "Select which package to install" $dummy) for part in $which { print $"Installing '($part.pkg)' from '($part.provider)'" - try { + do -s { install-pkg ($part | reject index) $yes } catch { |err| - print -e $"Failed to install '($part.pkg)'." + print -e $"Failed to install '($part.pkg)'. Exited with code '($env.LAST_EXIT_CODE)'" } } } From 4ae5cb9c3b35c60277e422e70df800daf7f00898 Mon Sep 17 00:00:00 2001 From: Elsie Date: Sat, 2 Nov 2024 17:52:26 -0400 Subject: [PATCH 22/44] Nah --- rhino-pkg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rhino-pkg b/rhino-pkg index cb190ed..1733c91 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -103,11 +103,11 @@ def "main install" [ let which = (prompt "Select which package to install" $dummy) for part in $which { print $"Installing '($part.pkg)' from '($part.provider)'" - do -s { + try { install-pkg ($part | reject index) $yes } catch { |err| - print -e $"Failed to install '($part.pkg)'. Exited with code '($env.LAST_EXIT_CODE)'" + print -e $"Failed to install '($part.pkg)'." } } } From 35df8dfedca9be46bd80679a091871d2c6e04800 Mon Sep 17 00:00:00 2001 From: Elsie Date: Sat, 2 Nov 2024 17:56:46 -0400 Subject: [PATCH 23/44] we're back --- rhino-pkg | 1 + 1 file changed, 1 insertion(+) diff --git a/rhino-pkg b/rhino-pkg index 1733c91..a64d8ed 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -108,6 +108,7 @@ def "main install" [ } catch { |err| print -e $"Failed to install '($part.pkg)'." + exit $env.LAST_EXIT_CODE } } } From b4c982bb1e267c81c35ec68c05e0ef22b0a7b685 Mon Sep 17 00:00:00 2001 From: Elsie Date: Sat, 2 Nov 2024 20:41:37 -0400 Subject: [PATCH 24/44] fix(output): print all selections at once --- rhino-pkg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rhino-pkg b/rhino-pkg index a64d8ed..cbfd5b3 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -101,8 +101,8 @@ def "main install" [ return } let which = (prompt "Select which package to install" $dummy) + $which | each {|part| print $"Selecting '(ansi purple_bold)($part.pkg)(ansi reset)' from package manager '(ansi purple_bold)($part.provider)(ansi reset)'" } for part in $which { - print $"Installing '($part.pkg)' from '($part.provider)'" try { install-pkg ($part | reject index) $yes } catch { From af2439bcff33ddcff8aab1a6eeda51e97e3fb9d4 Mon Sep 17 00:00:00 2001 From: Elsie Date: Sat, 2 Nov 2024 20:49:20 -0400 Subject: [PATCH 25/44] fix(output): replace gradient with bold --- modules/lib/search.nu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/lib/search.nu b/modules/lib/search.nu index b67a321..66b7538 100644 --- a/modules/lib/search.nu +++ b/modules/lib/search.nu @@ -45,7 +45,7 @@ export def search-local-pkgs [search: string] -> table { mut idx = 0 for bla in $total { let le_color = (print-color $bla.provider) - print $"[($le_color)($idx)(ansi reset)]: ($bla.pkg) ~ ($bla.version | ansi gradient --fgstart '0x40c9ff' --fgend '0xe81cff') \(($le_color)($bla.provider)(ansi reset)\)" + print $"[($le_color)($idx)(ansi reset)]: ($bla.pkg) ~ (ansi defb)($bla.version)(ansi reset) \(($le_color)($bla.provider)(ansi reset)\)" $idx += 1 } # Just because someone else might need the table. From 34c774b6dc3e92d7d51a19adbb93619701c4affe Mon Sep 17 00:00:00 2001 From: Elsie Date: Sat, 2 Nov 2024 20:50:22 -0400 Subject: [PATCH 26/44] fix(cleanup): add missing base command --- rhino-pkg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rhino-pkg b/rhino-pkg index cbfd5b3..53c15e9 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -136,7 +136,7 @@ def "main cleanup" [ if not $yes { if (input $"Attempting to repair dependencies and remove unused packages. Continue? \((ansi green_bold)y(ansi reset)/(ansi red_bold)N(ansi reset)\) " | str downcase - | starts-with "n") { + | str starts-with "n") { exit 1 } } From a7e3e3cc7815dec316eea0d22a7fd13ccc0b68cf Mon Sep 17 00:00:00 2001 From: Elsie Date: Thu, 7 Nov 2024 10:26:22 -0500 Subject: [PATCH 27/44] add: update subcommand --- modules/pluggables/apt.nu | 2 +- modules/pluggables/flatpak.nu | 2 +- modules/pluggables/pacstall.nu | 2 +- modules/pluggables/snap.nu | 2 +- rhino-pkg | 10 ++++++++++ 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/modules/pluggables/apt.nu b/modules/pluggables/apt.nu index d50b41a..4353d25 100644 --- a/modules/pluggables/apt.nu +++ b/modules/pluggables/apt.nu @@ -29,7 +29,7 @@ export def search [input: string, description: bool] -> table { } } -export def upgrade [--promptless] { +export def upgrade [promptless: bool] { if (exists "apt") { if $promptless { ^sudo apt update -y diff --git a/modules/pluggables/flatpak.nu b/modules/pluggables/flatpak.nu index f2e37b7..0f606a0 100644 --- a/modules/pluggables/flatpak.nu +++ b/modules/pluggables/flatpak.nu @@ -28,7 +28,7 @@ export def search [input: string, description: bool] -> table { } } -export def upgrade [--promptless] { +export def upgrade [promptless: bool] { if (exists "flatpak") { if $promptless { ^flatpak update -y diff --git a/modules/pluggables/pacstall.nu b/modules/pluggables/pacstall.nu index bfd232b..0923b92 100644 --- a/modules/pluggables/pacstall.nu +++ b/modules/pluggables/pacstall.nu @@ -39,7 +39,7 @@ export def search [input: string, description: bool] -> table { } } -export def upgrade [--promptless] { +export def upgrade [promptless: bool] { if (exists "pacstall") { if $promptless { ^pacstall -PUp diff --git a/modules/pluggables/snap.nu b/modules/pluggables/snap.nu index 3b33e56..ad08201 100644 --- a/modules/pluggables/snap.nu +++ b/modules/pluggables/snap.nu @@ -25,7 +25,7 @@ export def search [input: string, description: bool] -> table { } } -export def upgrade [--promptless] { +export def upgrade [promptless: bool] { if (exists "snap") { ^sudo snap refresh } diff --git a/rhino-pkg b/rhino-pkg index 53c15e9..a9a1136 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -142,3 +142,13 @@ def "main cleanup" [ } cleanup-pkg $yes } + +def "main update" [ + --yes (-y) # Makes functions with confirmation prompts run promptless +] { + use "/usr/share/rhino-pkg/modules/pluggables/" [apt, flatpak, pacstall, snap] + apt upgrade $yes + flatpak upgrade $yes + pacstall upgrade $yes + snap upgrade $yes +} From eca984c534fa4ffcd392e50ed36d80751b661162 Mon Sep 17 00:00:00 2001 From: Elsie Date: Thu, 5 Dec 2024 10:39:04 -0500 Subject: [PATCH 28/44] rm: old rpk --- LICENSE | 674 ----------------------------------------------- Makefile | 7 - README.md | 65 ----- po/LINGUAS | 20 -- po/ar.po | 70 ----- po/bn.po | 61 ----- po/de.po | 68 ----- po/enm.po | 59 ----- po/es.po | 64 ----- po/fr.po | 60 ----- po/hi.po | 61 ----- po/id.po | 61 ----- po/ie.po | 70 ----- po/it.po | 61 ----- po/ka.po | 74 ------ po/ko.po | 64 ----- po/nl.po | 71 ----- po/pt_BR.po | 71 ----- po/rhino-pkg.pot | 39 --- po/ro.po | 61 ----- po/ru.po | 70 ----- po/sv.po | 60 ----- po/uk.po | 75 ------ po/ur.po | 61 ----- po/zh_CN.po | 69 ----- rhino-pkg | 439 ------------------------------ 26 files changed, 2555 deletions(-) delete mode 100644 LICENSE delete mode 100644 Makefile delete mode 100644 README.md delete mode 100644 po/LINGUAS delete mode 100644 po/ar.po delete mode 100644 po/bn.po delete mode 100644 po/de.po delete mode 100644 po/enm.po delete mode 100644 po/es.po delete mode 100644 po/fr.po delete mode 100644 po/hi.po delete mode 100644 po/id.po delete mode 100644 po/ie.po delete mode 100644 po/it.po delete mode 100644 po/ka.po delete mode 100644 po/ko.po delete mode 100644 po/nl.po delete mode 100644 po/pt_BR.po delete mode 100644 po/rhino-pkg.pot delete mode 100644 po/ro.po delete mode 100644 po/ru.po delete mode 100644 po/sv.po delete mode 100644 po/uk.po delete mode 100644 po/ur.po delete mode 100644 po/zh_CN.po delete mode 100755 rhino-pkg diff --git a/LICENSE b/LICENSE deleted file mode 100644 index f288702..0000000 --- a/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/Makefile b/Makefile deleted file mode 100644 index 696538a..0000000 --- a/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -SHELL := /usr/bin/env bash - -all: install - -install: - mapfile -t linguas - -A package manager wrapper for Pacstall, APT, Flatpak and snap. - -### Usage -``` -USAGE: rhino-pkg [function] {flag} - -functions: - install: Install package(s) - Prompts user to respond with - the number(s) associated with the desired package(s). - - remove: Uninstall package(s) - Prompts user to respond with - the number(s) associated with the desired package(s). - - search: Search for package(s) - Does not have a second prompt. - - update: Updates all packages accessible to the wrapper - does - not accept , instead use install to update - individual packages. Has a confirmation prompt. - - cleanup: Attempts to repair broken dependencies and remove any - unused packages. Does not accept , but has - a confirmation prompt. - -flags: - --help/-h: Display this page - - --description/-d: By default, rhino-pkg will only display packages - that contain within their name. Use this flag to increase - range and display packages with in their description. - - -y: Makes functions with confirmation prompts run promptless. - -input: - Provide a package name or description. - -Example execution: - $ rhino-pkg install foobar - Found packages matching 'foobar': - - [0]: pyfoobar (apt) - [1]: foobarshell (apt) - [2]: foobar (flatpak) - [3]: foobar-web (snap) - [4]: foobar-bin (pacstall) - [5]: foobar-theme (pacstall) - - Select which package to install [0-5]: 3 4 5 - Selecting 'foobar-web' from package manager 'snap' - Selecting 'foobar-bin' from package manager 'pacstall' - Selecting 'foobar-theme' from package manager 'pacstall' - Are you sure? (y/N) - [...] -``` - -### How you can help -* Work on translations into languages not finished yet by either editing the `po/.po` file, making a new one by running `cp po/rhino-pkg.pot po/.po`, or using weblate (https://hosted.weblate.org/projects/rhino-linux/rhino-pkg/). Once you have completed or partially completed a po file, make a PR and we will merge it! Our goal is to have as many languages translated as possible due to the amount of people who may not be fluent in English. - -#### Supported languages - - -Translation status - diff --git a/po/LINGUAS b/po/LINGUAS deleted file mode 100644 index 3929f98..0000000 --- a/po/LINGUAS +++ /dev/null @@ -1,20 +0,0 @@ -ar -bn -de -enm -es -fr -hi -id -ie -it -ka -ko -nl -pt_BR -ro -ru -sv -uk -ur -zh_CN diff --git a/po/ar.po b/po/ar.po deleted file mode 100644 index e252fd8..0000000 --- a/po/ar.po +++ /dev/null @@ -1,70 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-25 23:52+0200\n" -"PO-Revision-Date: 2024-02-08 13:02+0000\n" -"Last-Translator: 7A9Oo \n" -"Language-Team: Arabic \n" -"Language: ar\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" -"X-Generator: Weblate 5.4-dev\n" - -#: rhino-pkg:186 -msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "هل أنت متأكد من تحديث كل الحزم؟ (${BGreen}y${NC}/${BRed}N${NC}). " - -#: rhino-pkg:218 -msgid "Searching Pacstall…" -msgstr "جار البحث عن Pacstall…" - -#: rhino-pkg:222 -msgid "Searching apt…" -msgstr "جار البحث عن apt…" - -#: rhino-pkg:226 -msgid "Searching flatpak…" -msgstr "جار البحث عن flatpak…" - -#: rhino-pkg:231 -msgid "Searching snap…" -msgstr "جار البحث عن snap…" - -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" -msgstr "لا يوجد حزمة مطابقة '$*'!" - -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "حزم متوفرة مطابقة '${BPurple}$*${NC}':" - -#: rhino-pkg:286 -msgid "Select which package to install" -msgstr "إختر الحزمة المراد تنصيبها" - -#: rhino-pkg:292 -msgid "Select which package to remove" -msgstr "إختر الحزمة المراد حذفها" - -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" -msgstr "'${entered_input[*]}' رقم غير مطابق" - -#: rhino-pkg:303 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"إختيار '${BPurple}${pkgs[i]}${NC}' من مدير الحزم " -"'${BPurple}${pkgrepo[i]}${NC}'" - -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "هل أنت متأكد ؟ (${BGreen}y${NC}/${BRed}N${NC}). " - -#: rhino-pkg:341 -msgid "Invalid repository name!" -msgstr "اسم المستودع خاطئ !" diff --git a/po/bn.po b/po/bn.po deleted file mode 100644 index 586d47b..0000000 --- a/po/bn.po +++ /dev/null @@ -1,61 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-06 11:12-0500\n" -"PO-Revision-Date: 2023-02-06 20:02+0000\n" -"Last-Translator: Sourajyoti Basak \n" -"Language-Team: Bengali \n" -"Language: bn\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.15.2\n" - -#: rhino-pkg:73 -msgid "No input given!" -msgstr "কোনো ইনপুট দেওয়া হয়নি!" - -#: rhino-pkg:77 -msgid "Searching Pacstall…" -msgstr "Pacstall-এ খোঁজ করা হচ্ছে…" - -#: rhino-pkg:81 -msgid "Searching apt…" -msgstr "apt-এ খোঁজ করা হচ্ছে…" - -#: rhino-pkg:85 -msgid "Searching flatpak…" -msgstr "flatpak-এ খোঁজ করা হচ্ছে…" - -#: rhino-pkg:90 -msgid "Searching snap…" -msgstr "snap-এ খোঁজ করা হচ্ছে…" - -#: rhino-pkg:96 -msgid "No packages found matching '$*'!" -msgstr "'$*' এর সাথে মিলিত কোনো প্যাকেজ পাওয়া যায়নি!" - -#: rhino-pkg:99 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "'${BPurple}$*${NC}' এর সাথে মিলিত প্যাকেজগুলি পাওয়া গেছে:" - -#: rhino-pkg:135 -msgid "Select which package to install" -msgstr "কোন প্যাকেজ ইনস্টল করতে হবে তা নির্বাচন করুন" - -#: rhino-pkg:139 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' একটি বৈধ সংখ্যা নয়" - -#: rhino-pkg:143 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"প্যাকেজ ম্যানেজার '${BPurple}${pkgs[i]}${NC}' থেকে " -"'${BPurple}${pkgrepo[i]}${NC}' নির্বাচন করা হচ্ছে" - -#: rhino-pkg:168 -msgid "Invalid repository name!" -msgstr "অবৈধ সংগ্রহস্থলের নাম!" diff --git a/po/de.po b/po/de.po deleted file mode 100644 index 39857a6..0000000 --- a/po/de.po +++ /dev/null @@ -1,68 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-09 14:06+0200\n" -"PO-Revision-Date: 2024-01-09 13:06+0000\n" -"Last-Translator: Oliver Schantz \n" -"Language-Team: German \n" -"Language: de\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: ENCODING\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.4-dev\n" - -#: rhino-pkg:186 -msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "Sind Sie sicher, dass sie alle Pakete aktualisieren möchten? (${BGreen}y${NC}/${BRed}N${NC}) " - -#: rhino-pkg:218 -msgid "Searching Pacstall…" -msgstr "Suche in Pacstall…" - -#: rhino-pkg:222 -msgid "Searching apt…" -msgstr "Suche in APT…" - -#: rhino-pkg:226 -msgid "Searching flatpak…" -msgstr "Suche in Flatpak…" - -#: rhino-pkg:231 -msgid "Searching snap…" -msgstr "Suche in Snap…" - -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" -msgstr "Keine passenden Pakete zu '$*' gefunden!" - -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Pakete passend zu '${BPurple}$*${NC}' gefunden:" - -#: rhino-pkg:286 -msgid "Select which package to install" -msgstr "Wählen Sie Pakete aus, welche Installiert werden sollen" - -#: rhino-pkg:292 -msgid "Select which package to remove" -msgstr "Wählen Sie die Pakete aus, welche Sie löschen möchten." - -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" -msgstr "'${entered_input[*]}' ist keine gültige Zahl" - -#: rhino-pkg:303 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "'${BPurple}${pkgs[i]}${NC}' von Paketmanager '${BPurple}${pkgrepo[i]}${NC}' wird gewählt" - -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "Sind Sie sich sicher? (${BGreen}y${NC}/${BRed}N${NC}) " - -#: rhino-pkg:341 -msgid "Invalid repository name!" -msgstr "Ungültiger Repository Name!" diff --git a/po/enm.po b/po/enm.po deleted file mode 100644 index d3f7437..0000000 --- a/po/enm.po +++ /dev/null @@ -1,59 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-06 08:38-0500\n" -"PO-Revision-Date: 2023-02-06 14:38+0000\n" -"Last-Translator: Twilight is-the-best \n" -"Language-Team: English (Middle) \n" -"Language: enm\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.15.2\n" - -#: rhino-pkg:85 -msgid "No input given!" -msgstr "Input hath not been given!" - -#: rhino-pkg:95 -msgid "Searching Pacstall…" -msgstr "Doth searching Pacstall…" - -#: rhino-pkg:99 -msgid "Searching apt…" -msgstr "Doth searching apt…" - -#: rhino-pkg:103 -msgid "Searching flatpak…" -msgstr "Doth searching flatpak…" - -#: rhino-pkg:108 -msgid "Searching snap…" -msgstr "Doth searching snap…" - -#: rhino-pkg:114 -msgid "No packages found matching '$*'!" -msgstr "No packages found matching doth name '$*'!" - -#: rhino-pkg:117 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Found packages doth matching '${BPurple}$*${NC}':" - -#: rhino-pkg:153 -msgid "Select which package to install" -msgstr "Select doth packages to which to install" - -#: rhino-pkg:157 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' is not a proper number" - -#: rhino-pkg:161 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "Selecting '${BPurple}${pkgs[i]}${NC}' from thine package manager '${BPurple}${pkgrepo[i]}${NC}'" - -#: rhino-pkg:186 -msgid "Invalid repository name!" -msgstr "Thou hast supplied an improper repository name!" diff --git a/po/es.po b/po/es.po deleted file mode 100644 index 0296690..0000000 --- a/po/es.po +++ /dev/null @@ -1,64 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 01:39+0200\n" -"PO-Revision-Date: 2024-07-13 23:39+0000\n" -"Last-Translator: Oren Klopfer \n" -"Language-Team: Spanish \n" -"Language: es\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: ENCODING\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.7-dev\n" - -#: rhino-pkg:73 -msgid "No input given!" -msgstr "¡Ninguna entrada dada!" - -#: rhino-pkg:77 -msgid "Searching Pacstall…" -msgstr "Buscando Pacstall…" - -#: rhino-pkg:81 -msgid "Searching apt…" -msgstr "Buscando apt…" - -#: rhino-pkg:85 -msgid "Searching flatpak…" -msgstr "Buscando flatpak…" - -#: rhino-pkg:90 -msgid "Searching snap…" -msgstr "Buscando snap…" - -#: rhino-pkg:96 -msgid "No packages found matching '$*'!" -msgstr "¡Fueron encontrados paquetes que coinciden con '$*'!" - -#: rhino-pkg:99 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Paquetes encontrados que coinciden con '${BPurple}$*${NC}':" - -#: rhino-pkg:135 -msgid "Select which package to install" -msgstr "Seleccione el paquete que desea instalar" - -#: rhino-pkg:139 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' no es un número válido" - -#: rhino-pkg:143 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "Seleccionando '${BPurple}${pkgs[i]}${NC}' del gestor de paquetes '${BPurple}${pkgrepo[i]}${NC}'" - -#: rhino-pkg:168 -msgid "Invalid repository name!" -msgstr "¡Nombre de repositorio inválido!" - -#: rhino-pkg:253 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "¿Estás seguro? (${BGreen}y${NC}/${BRed}N${NC}) " diff --git a/po/fr.po b/po/fr.po deleted file mode 100644 index 9d71523..0000000 --- a/po/fr.po +++ /dev/null @@ -1,60 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 00:43+0200\n" -"PO-Revision-Date: 2024-07-13 22:43+0000\n" -"Last-Translator: Oren Klopfer \n" -"Language-Team: French \n" -"Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: ENCODING\n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.7-dev\n" - -#: rhino-pkg:73 -msgid "No input given!" -msgstr "Aucune entrée n'a été donnée !" - -#: rhino-pkg:77 -msgid "Searching Pacstall…" -msgstr "Recherche de Pacstall…" - -#: rhino-pkg:81 -msgid "Searching apt…" -msgstr "Recherche de l'apt…" - -#: rhino-pkg:85 -msgid "Searching flatpak…" -msgstr "Recherche de flatpak…" - -#: rhino-pkg:90 -msgid "Searching snap…" -msgstr "Recherche de snap…" - -#: rhino-pkg:96 -msgid "No packages found matching '$*'!" -msgstr "Aucun paquet trouvé correspondant à '$*' !" - -#: rhino-pkg:99 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Paquets trouvés correspondant à '${BPurple}$*${NC}':" - -#: rhino-pkg:135 -msgid "Select which package to install" -msgstr "Sélectionnez le paquet à installer" - -#: rhino-pkg:139 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' n'est pas un nombre valide" - -#: rhino-pkg:143 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "Sélection de '${BPurple}${pkgs[i]}${NC}' dans le gestionnaire de paquets '${BPurple}${pkgrepo[i]}${NC}'" - -#: rhino-pkg:168 -msgid "Invalid repository name!" -msgstr "Nom de dépôt non valide !" diff --git a/po/hi.po b/po/hi.po deleted file mode 100644 index ef08704..0000000 --- a/po/hi.po +++ /dev/null @@ -1,61 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-06 11:11-0500\n" -"PO-Revision-Date: 2023-02-06 20:02+0000\n" -"Last-Translator: Sourajyoti Basak \n" -"Language-Team: Hindi \n" -"Language: hi\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.15.2\n" - -#: rhino-pkg:97 -msgid "No input given!" -msgstr "कोई इनपुट नहीं दिया!" - -#: rhino-pkg:110 -msgid "Searching Pacstall…" -msgstr "Pacstall में खोजा जा रहा है…" - -#: rhino-pkg:114 -msgid "Searching apt…" -msgstr "APT में खोजा जा रहा है…" - -#: rhino-pkg:118 -msgid "Searching flatpak…" -msgstr "फ्लैटपैक में खोजा जा रहा है…" - -#: rhino-pkg:123 -msgid "Searching snap…" -msgstr "स्नैप में खोजा जा रहा है…" - -#: rhino-pkg:129 -msgid "No packages found matching '$*'!" -msgstr "'$*' से मेल खाता कोई पैकेज नहीं मिला!" - -#: rhino-pkg:132 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "'${Bpurple}$*${NC}' से मेल खाने वाले पैकेज मिले:" - -#: rhino-pkg:168 -msgid "Select which package to install" -msgstr "इनस्टॉल करने के लिए एक पैकेज चुनें" - -#: rhino-pkg:172 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' वैध संख्या नहीं है" - -#: rhino-pkg:176 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"पैकेज मैनेजर '${Bpurple}${pkgs[i]}${NC}' से " -"'${Bpurple}${pkgrepo[i]}${NC}' चुने गए हैं" - -#: rhino-pkg:201 -msgid "Invalid repository name!" -msgstr "अवैध भंडार का नाम!" diff --git a/po/id.po b/po/id.po deleted file mode 100644 index 5882c6e..0000000 --- a/po/id.po +++ /dev/null @@ -1,61 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: \n" -"POT-Creation-Date: \n" -"PO-Revision-Date: \n" -"Last-Translator: yukidream \n" -"Language-Team: \n" -"Language: id\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 3.2.2\n" - -#: rhino-pkg:97 -msgid "No input given!" -msgstr "Tidak ada masukan!" - -#: rhino-pkg:110 -msgid "Searching Pacstall…" -msgstr "Mencari Pacstall…" - -#: rhino-pkg:114 -msgid "Searching apt…" -msgstr "Mencari apt…" - -#: rhino-pkg:118 -msgid "Searching flatpak…" -msgstr "Mencari flatpak…" - -#: rhino-pkg:123 -msgid "Searching snap…" -msgstr "Mencari snap…" - -#: rhino-pkg:129 -msgid "No packages found matching '$*'!" -msgstr "Tidak menemukan paket yang cocok '$*'!" - -#: rhino-pkg:132 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Menemukan paket yang sesuai '${BPurple}$*${NC}':" - -#: rhino-pkg:168 -msgid "Select which package to install" -msgstr "Memilih paket yang akan dipasang" - -#: rhino-pkg:172 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' bukan angka yang sah" - -#: rhino-pkg:176 -msgid "" -"Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -"'${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"Memilih'${BPurple}${pkgs[i]}${NC}' dari manajemen paket " -"'${BPurple}${pkgrepo[i]}${NC}'" - -#: rhino-pkg:201 -msgid "Invalid repository name!" -msgstr "Nama repositori yang tidak sah!" diff --git a/po/ie.po b/po/ie.po deleted file mode 100644 index c857101..0000000 --- a/po/ie.po +++ /dev/null @@ -1,70 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-18 07:04+0200\n" -"PO-Revision-Date: 2023-08-18 05:26+0000\n" -"Last-Translator: OIS \n" -"Language-Team: Occidental \n" -"Language: ie\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.0-dev\n" - -#: rhino-pkg:186 -msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "" -"Esque vu vole actualisar omni paccages? (${BGreen}y${NC}/${BRed}N${NC}) " - -#: rhino-pkg:218 -msgid "Searching Pacstall…" -msgstr "Serchante Pacstall…" - -#: rhino-pkg:222 -msgid "Searching apt…" -msgstr "Serchante apt…" - -#: rhino-pkg:226 -msgid "Searching flatpak…" -msgstr "Serchante flatpak…" - -#: rhino-pkg:231 -msgid "Searching snap…" -msgstr "Serchante snap…" - -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" -msgstr "Null paccages trovat quel corresponde a '$*'!" - -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Trovat paccages correspondente a '${BPurple}$*${NC}':" - -#: rhino-pkg:286 -msgid "Select which package to install" -msgstr "Selecter un paccage a installar" - -#: rhino-pkg:292 -msgid "Select which package to remove" -msgstr "Selecter un paccage a remover" - -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" -msgstr "'${entered_input[*]}' ne es un valid númere" - -#: rhino-pkg:303 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"Selecte '${BPurple}${pkgs[i]}${NC}' del gerente de paccages " -"'${BPurple}${pkgrepo[i]}${NC}'" - -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "Esque vu es cert? (${BGreen}y${NC}/${BRed}N${NC}) " - -#: rhino-pkg:341 -msgid "Invalid repository name!" -msgstr "Ínvalid nómine de un repositoria!" diff --git a/po/it.po b/po/it.po deleted file mode 100644 index e978940..0000000 --- a/po/it.po +++ /dev/null @@ -1,61 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-07-08 11:52+0200\n" -"PO-Revision-Date: 2024-06-04 16:09+0000\n" -"Last-Translator: Dario \n" -"Language-Team: Italian \n" -"Language: it\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.6-dev\n" - -#: rhino-pkg:73 -msgid "No input given!" -msgstr "Nessun input fornito!" - -#: rhino-pkg:77 -msgid "Searching Pacstall…" -msgstr "Cerco su Pacstall…" - -#: rhino-pkg:81 -msgid "Searching apt…" -msgstr "Cerco su apt…" - -#: rhino-pkg:85 -msgid "Searching flatpak…" -msgstr "Cerco su flatpak…" - -#: rhino-pkg:90 -msgid "Searching snap…" -msgstr "Cerco su snap…" - -#: rhino-pkg:96 -msgid "No packages found matching '$*'!" -msgstr "Nessun pacchetto corrisponde a '$*'!" - -#: rhino-pkg:99 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Trovati pacchetti corrispondenti a '${BPurple}$*${NC}':" - -#: rhino-pkg:135 -msgid "Select which package to install" -msgstr "Seleziona il pacchetto da installare" - -#: rhino-pkg:139 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' non è un numero valido" - -#: rhino-pkg:143 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"Seleziono '${BPurple}${pkgs[i]}${NC}' dal gestore di pacchetti " -"'${BPurple}${pkgrepo[i]}${NC}'" - -#: rhino-pkg:168 -msgid "Invalid repository name!" -msgstr "Nome repository errato!" diff --git a/po/ka.po b/po/ka.po deleted file mode 100644 index e2cc61b..0000000 --- a/po/ka.po +++ /dev/null @@ -1,74 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-08 10:55+0200\n" -"PO-Revision-Date: 2024-01-09 13:06+0000\n" -"Last-Translator: Temuri Doghonadze \n" -"Language-Team: Georgian \n" -"Language: ka\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.4-dev\n" - -#: rhino-pkg:186 -msgid "" -"Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" -"N${NC}) " -msgstr "" -"მართლა გნებავთ ყველა პაკეტის განახლება? (${BGreen}y${NC}/${BRed}N${NC}) " - -#: rhino-pkg:218 -msgid "Searching Pacstall…" -msgstr "ძებნა Pacstall-ში…" - -#: rhino-pkg:222 -msgid "Searching apt…" -msgstr "ძებნა apt-ში…" - -#: rhino-pkg:226 -msgid "Searching flatpak…" -msgstr "ძებნა flatpak-ში…" - -#: rhino-pkg:231 -msgid "Searching snap…" -msgstr "ძებნა snap-ში…" - -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" -msgstr "ვერ ვიპოვე პაკეტი, რომელიც ემთხვევა სტრიქონს '$*'!" - -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "ნაპოვნი პაკეტები, რომლებიც ემთხვევა სტრიქონს '${BPurple}$*${NC}':" - -#: rhino-pkg:286 -msgid "Select which package to install" -msgstr "აირჩიეთ, რომელი პაკეტი დავაყენო" - -#: rhino-pkg:292 -msgid "Select which package to remove" -msgstr "აირჩიეთ, რომელი პაკეტი წავშალო" - -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" -msgstr "'${entered_input[*]}' სწორი რიცხვი არაა" - -#: rhino-pkg:303 -msgid "" -"Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -"'${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"ავირჩიე '${BPurple}${pkgs[i]}${NC}' პაკეტების მმართველიდან " -"'${BPurple}${pkgrepo[i]}${NC}'" - -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "დარწმუნებულ ბრძანდებით? (${BGreen}y${NC}/${BRed}N${NC}) " - -#: rhino-pkg:341 -msgid "Invalid repository name!" -msgstr "არასწორი რეპოზიტორიის სახელი!" diff --git a/po/ko.po b/po/ko.po deleted file mode 100644 index 129c2c3..0000000 --- a/po/ko.po +++ /dev/null @@ -1,64 +0,0 @@ -# Header entry was created by Lokalize. -# -# Electronics, 2023. -msgid "" -msgstr "" -"Project-Id-Version: \n" -"PO-Revision-Date: 2023-02-16 03:02+0000\n" -"Last-Translator: DtotheFuture \n" -"Language-Team: Korean \n" -"Language: ko\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 4.15.2\n" - -#: rhino-pkg:97 -msgid "No input given!" -msgstr "주어진 입력 값이 없습니다!" - -#: rhino-pkg:110 -msgid "Searching Pacstall…" -msgstr "Pacstall 검색 중…" - -#: rhino-pkg:114 -msgid "Searching apt…" -msgstr "APT 검색 중…" - -#: rhino-pkg:118 -msgid "Searching flatpak…" -msgstr "Flatpak 검색 중…" - -#: rhino-pkg:123 -msgid "Searching snap…" -msgstr "Snap 검색 중…" - -#: rhino-pkg:129 -msgid "No packages found matching '$*'!" -msgstr "'$*'와 일치하는 패키지를 찾을 수 없습니다!" - -#: rhino-pkg:132 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "'${BPurple}$*${NC}'와 일치하는 패키지를 찾았습니다:" - -#: rhino-pkg:168 -msgid "Select which package to install" -msgstr "설치할 패키지를 선택해주세요" - -#: rhino-pkg:172 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input'은 유효한 번호가 아닙니다" - -#: rhino-pkg:176 -msgid "" -"Selecting '${BPurple}${pkgs[i]}${NC}' from package manager" -" '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"패키지 관리자 '${BPurple}${pkgrepo[i]}${NC}'에서 Selecting " -"'${BPurple}${pkgs[i]}${NC}'를 선택했습니다" - -#: rhino-pkg:201 -msgid "Invalid repository name!" -msgstr "저장소 이름이 잘못되었습니다!" diff --git a/po/nl.po b/po/nl.po deleted file mode 100644 index 369bf06..0000000 --- a/po/nl.po +++ /dev/null @@ -1,71 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-26 07:06-0500\n" -"PO-Revision-Date: 2023-02-26 15:03+0000\n" -"Last-Translator: Heimen Stoffels \n" -"Language-Team: Dutch \n" -"Language: nl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.15.2\n" - -#: rhino-pkg:186 -msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "" -"Weet u zeker dat u alle pakketten wilt bijwerken? " -"(${BGreen}y${NC}/${BRed}N${NC}) " - -#: rhino-pkg:218 -msgid "Searching Pacstall…" -msgstr "Bezig met doorzoeken van Pacstall…" - -#: rhino-pkg:222 -msgid "Searching apt…" -msgstr "Bezig met doorzoeken van apt…" - -#: rhino-pkg:226 -msgid "Searching flatpak…" -msgstr "Bezig met doorzoeken van Flatpak…" - -#: rhino-pkg:231 -msgid "Searching snap…" -msgstr "Bezig met doorzoeken van Snap…" - -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" -msgstr "Er zijn geen pakketten gevonden die overeenkomen met '$*'!" - -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Pakketten die overeenkomen met '${BPurple}$*${NC}':" - -#: rhino-pkg:286 -msgid "Select which package to install" -msgstr "Kies de te installeren pakketten" - -#: rhino-pkg:292 -msgid "Select which package to remove" -msgstr "Kies de te verwijderen pakketten" - -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" -msgstr "'${entered_input[*]}' is geen geldig getal" - -#: rhino-pkg:303 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"Keuzes: '${BPurple}${pkgs[i]}${NC}' met behulp van pakketbeheerder " -"'${BPurple}${pkgrepo[i]}${NC}'" - -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "Weet u het zeker? (${BGreen}y${NC}/${BRed}N${NC}) " - -#: rhino-pkg:341 -msgid "Invalid repository name!" -msgstr "De pakketbronnaam is ongeldig!" diff --git a/po/pt_BR.po b/po/pt_BR.po deleted file mode 100644 index 98ecf47..0000000 --- a/po/pt_BR.po +++ /dev/null @@ -1,71 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-05 08:57-0500\n" -"PO-Revision-Date: 2023-06-05 14:08+0000\n" -"Last-Translator: Raul Dipeas \n" -"Language-Team: Portuguese (Brazil) \n" -"Language: pt_BR\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 4.17\n" - -#: rhino-pkg:186 -msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "" -"Tem certeza de que deseja atualizar todos os pacotes? " -"(${BGreen}y${NC}/${BRed}N${NC}) " - -#: rhino-pkg:218 -msgid "Searching Pacstall…" -msgstr "Procurando Pacstall…" - -#: rhino-pkg:222 -msgid "Searching apt…" -msgstr "Procurando apt…" - -#: rhino-pkg:226 -msgid "Searching flatpak…" -msgstr "Procurando flatpak…" - -#: rhino-pkg:231 -msgid "Searching snap…" -msgstr "Procurando snap…" - -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" -msgstr "Nenhum pacote encontrado correspondente a '$*'!" - -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Pacotes encontrados correspondentes a '${BPurple}$*${NC}':" - -#: rhino-pkg:286 -msgid "Select which package to install" -msgstr "Selecione qual pacote instalar" - -#: rhino-pkg:292 -msgid "Select which package to remove" -msgstr "Selecione qual pacote remover" - -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" -msgstr "'${entered_input[*]}' não é um número válido" - -#: rhino-pkg:303 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"Selecionando '${BPurple}${pkgs[i]}${NC}' do gerenciador de pacotes " -"'${BPurple}${pkgrepo[i]}${NC}'" - -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "Tem certeza? (${BGreen}y${NC}/${BRed}N${NC}) " - -#: rhino-pkg:341 -msgid "Invalid repository name!" -msgstr "Nome de repositório inválido!" diff --git a/po/rhino-pkg.pot b/po/rhino-pkg.pot deleted file mode 100644 index 9082b11..0000000 --- a/po/rhino-pkg.pot +++ /dev/null @@ -1,39 +0,0 @@ -#: rhino-pkg:186 -msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "" -#: rhino-pkg:218 -msgid "Searching Pacstall…" -msgstr "" -#: rhino-pkg:222 -msgid "Searching apt…" -msgstr "" -#: rhino-pkg:226 -msgid "Searching flatpak…" -msgstr "" -#: rhino-pkg:231 -msgid "Searching snap…" -msgstr "" -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" -msgstr "" -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "" -#: rhino-pkg:286 -msgid "Select which package to install" -msgstr "" -#: rhino-pkg:292 -msgid "Select which package to remove" -msgstr "" -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" -msgstr "" -#: rhino-pkg:303 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "" -#: rhino-pkg:341 -msgid "Invalid repository name!" -msgstr "" diff --git a/po/ro.po b/po/ro.po deleted file mode 100644 index 081fbff..0000000 --- a/po/ro.po +++ /dev/null @@ -1,61 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-26 21:16+0200\n" -"PO-Revision-Date: 2023-06-26 19:16+0000\n" -"Last-Translator: Elsie \n" -"Language-Team: Romanian \n" -"Language: ro\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: ENCODING\n" -"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " -"20)) ? 1 : 2;\n" -"X-Generator: Weblate 4.18.1\n" - -#: rhino-pkg:73 -msgid "No input given!" -msgstr "Nu am primit termeni de căutare!" - -#: rhino-pkg:77 -msgid "Searching Pacstall…" -msgstr "Căutare în Pacstall…" - -#: rhino-pkg:81 -msgid "Searching apt…" -msgstr "Căutare în apt…" - -#: rhino-pkg:85 -msgid "Searching flatpak…" -msgstr "Căutare în flatpak…" - -#: rhino-pkg:90 -msgid "Searching snap…" -msgstr "Căutare în snap…" - -#: rhino-pkg:96 -msgid "No packages found matching '$*'!" -msgstr "Nu au fost găsite aplicații care să se potrivească cu '$*'!" - -#: rhino-pkg:99 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Următoarele aplicații care se potrivesc cu '${BPurple}$*${NC}' au fost găsite:" - -#: rhino-pkg:135 -msgid "Select which package to install" -msgstr "Selectează care aplicație să fie instalată" - -#: rhino-pkg:139 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' nu este un număr valid" - -#: rhino-pkg:143 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "Ai selectat '${BPurple}${pkgs[i]}${NC}' din registrul de aplicații '${BPurple}${pkgrepo[i]}${NC}'" - -#: rhino-pkg:168 -msgid "Invalid repository name!" -msgstr "Acest registru de aplicații nu există!" diff --git a/po/ru.po b/po/ru.po deleted file mode 100644 index fe6def2..0000000 --- a/po/ru.po +++ /dev/null @@ -1,70 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-08-18 07:26+0200\n" -"PO-Revision-Date: 2023-08-18 21:19+0000\n" -"Last-Translator: OIS \n" -"Language-Team: Russian \n" -"Language: ru\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " -"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 5.0-dev\n" - -#: rhino-pkg:186 -msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "Обновить все пакеты? (${BGreen}y${NC} да/${BRed}N${NC} нет) " - -#: rhino-pkg:218 -msgid "Searching Pacstall…" -msgstr "Поиск в Pacstall…" - -#: rhino-pkg:222 -msgid "Searching apt…" -msgstr "Поиск в apt…" - -#: rhino-pkg:226 -msgid "Searching flatpak…" -msgstr "Поиск во flatpak…" - -#: rhino-pkg:231 -msgid "Searching snap…" -msgstr "Поиск в snap…" - -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" -msgstr "Не найдены пакеты по шаблону '$*'!" - -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Пакеты по шаблону '${BPurple}$*${NC}':" - -#: rhino-pkg:286 -msgid "Select which package to install" -msgstr "Выберите устанавливаемый пакет" - -#: rhino-pkg:292 -msgid "Select which package to remove" -msgstr "Выберите удаляемый пакет" - -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" -msgstr "'${entered_input[*]}' не является числом" - -#: rhino-pkg:303 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"Выбран '${BPurple}${pkgs[i]}${NC}' из менеджера пакетов " -"'${BPurple}${pkgrepo[i]}${NC}'" - -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "Вы уверены? (${BGreen}y${NC} да/${BRed}N${NC} нет) " - -#: rhino-pkg:341 -msgid "Invalid repository name!" -msgstr "Неверное имя репозитория!" diff --git a/po/sv.po b/po/sv.po deleted file mode 100644 index 033de9d..0000000 --- a/po/sv.po +++ /dev/null @@ -1,60 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 00:52+0200\n" -"PO-Revision-Date: 2024-07-13 22:52+0000\n" -"Last-Translator: Oren Klopfer \n" -"Language-Team: Swedish \n" -"Language: sv\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: ENCODING\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.7-dev\n" - -#: rhino-pkg:73 -msgid "No input given!" -msgstr "Ingen input given!" - -#: rhino-pkg:77 -msgid "Searching Pacstall…" -msgstr "Söker i Pacstall…" - -#: rhino-pkg:81 -msgid "Searching apt…" -msgstr "Söker i apt…" - -#: rhino-pkg:85 -msgid "Searching flatpak…" -msgstr "Söker i flatpak…" - -#: rhino-pkg:90 -msgid "Searching snap…" -msgstr "Söker i snap…" - -#: rhino-pkg:96 -msgid "No packages found matching '$*'!" -msgstr "Inga paket hittas som liknar '$*'!" - -#: rhino-pkg:99 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Hittade paket som liknar '${BPurple}$*${NC}':" - -#: rhino-pkg:135 -msgid "Select which package to install" -msgstr "Välj vilket paket att installera" - -#: rhino-pkg:139 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' är inte ett giltigt nummer" - -#: rhino-pkg:143 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "Väljer '${BPurple}${pkgs[i]}${NC}' från pakethanterare '${BPurple}${pkgrepo[i]}${NC}'" - -#: rhino-pkg:168 -msgid "Invalid repository name!" -msgstr "Ojiltigt arkivnamn!" diff --git a/po/uk.po b/po/uk.po deleted file mode 100644 index 8b85a43..0000000 --- a/po/uk.po +++ /dev/null @@ -1,75 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-06-15 21:00+0200\n" -"PO-Revision-Date: 2023-06-16 19:51+0000\n" -"Last-Translator: Dan \n" -"Language-Team: Ukrainian \n" -"Language: uk\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" -"X-Generator: Weblate 4.18.1\n" - -#: rhino-pkg:186 -msgid "" -"Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N" -"${NC}) " -msgstr "" -"Ви впевнені, що хочете оновити всі пакунки? (${BGreen}y${NC}/${BRed}N${NC}) " - -#: rhino-pkg:218 -msgid "Searching Pacstall…" -msgstr "Пошук Pacstall…" - -#: rhino-pkg:222 -msgid "Searching apt…" -msgstr "Пошук apt…" - -#: rhino-pkg:226 -msgid "Searching flatpak…" -msgstr "Пошук flatpak…" - -#: rhino-pkg:231 -msgid "Searching snap…" -msgstr "Пошук snap…" - -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" -msgstr "Не знайдено пакунків, що відповідають '$*'!" - -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Знайдено пакунки, які відповідають '${BPurple}$*${NC}':" - -#: rhino-pkg:286 -msgid "Select which package to install" -msgstr "Виберіть, який пакунок встановити" - -#: rhino-pkg:292 -msgid "Select which package to remove" -msgstr "Виберіть, який пакунок видалити" - -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" -msgstr "'${entered_input[*]}' неприпустиме число" - -#: rhino-pkg:303 -msgid "" -"Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -"'${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"Вибір '${BPurple}${pkgs[i]}${NC}' з менеджера пакунків " -"'${BPurple}${pkgrepo[i]}${NC}'" - -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "Ви впевнені? (${BGreen}y${NC}/${BRed}N${NC}) " - -#: rhino-pkg:341 -msgid "Invalid repository name!" -msgstr "Неправильна назва сховища!" diff --git a/po/ur.po b/po/ur.po deleted file mode 100644 index 60d4c45..0000000 --- a/po/ur.po +++ /dev/null @@ -1,61 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-02-06 11:47-0500\n" -"PO-Revision-Date: 2023-02-06 20:02+0000\n" -"Last-Translator: Sourajyoti Basak \n" -"Language-Team: Urdu \n" -"Language: ur\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 4.15.2\n" - -#: rhino-pkg:97 -msgid "No input given!" -msgstr "کوئی ان پٹ نہیں دیا گیا!" - -#: rhino-pkg:110 -msgid "Searching Pacstall…" -msgstr "Pacstall میں تلاش کر رہا ہے…" - -#: rhino-pkg:114 -msgid "Searching apt…" -msgstr "apt میں تلاش کر رہا ہے…" - -#: rhino-pkg:118 -msgid "Searching flatpak…" -msgstr "flatpak میں تلاش کر رہا ہے…" - -#: rhino-pkg:123 -msgid "Searching snap…" -msgstr "snap میں تلاش کر رہا ہے…" - -#: rhino-pkg:129 -msgid "No packages found matching '$*'!" -msgstr "'$*' سے مماثل کوئی پیکیج نہیں ملا!" - -#: rhino-pkg:132 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "'${Bpurple}$*${NC}' سے مماثل پیکیجز ملے:" - -#: rhino-pkg:168 -msgid "Select which package to install" -msgstr "منتخب کریں کہ کون سا پیکیج انسٹال کرنا ہے" - -#: rhino-pkg:172 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' درست تعداد نہیں ہے" - -#: rhino-pkg:176 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"پیکیج مینیجر سے '${BPurple}${pkgs[i]}${NC}' کو منتخب کیا گیا " -"'${BPurple}${pkgrepo[i]}${NC}'" - -#: rhino-pkg:201 -msgid "Invalid repository name!" -msgstr "" diff --git a/po/zh_CN.po b/po/zh_CN.po deleted file mode 100644 index b49ec25..0000000 --- a/po/zh_CN.po +++ /dev/null @@ -1,69 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-07-14 00:43+0200\n" -"PO-Revision-Date: 2024-07-13 22:43+0000\n" -"Last-Translator: Oren Klopfer \n" -"Language-Team: Chinese (Simplified) \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: ENCODING\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.7-dev\n" - -#: rhino-pkg:186 -msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "确定更新全部软件包? (${BGreen}y${NC}/${BRed}N${NC}) " - -#: rhino-pkg:218 -msgid "Searching Pacstall…" -msgstr "正在检索Pacstall…" - -#: rhino-pkg:222 -msgid "Searching apt…" -msgstr "正在检索apt…" - -#: rhino-pkg:226 -msgid "Searching flatpak…" -msgstr "正在检索flatpak…" - -#: rhino-pkg:231 -msgid "Searching snap…" -msgstr "正在检索snap…" - -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" -msgstr "未找到匹配 '$*' 的软件包!" - -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "找到匹配 '${BPurple}$*${NC}' 的软件包:" - -#: rhino-pkg:286 -msgid "Select which package to install" -msgstr "选择要安装的软件包" - -#: rhino-pkg:292 -msgid "Select which package to remove" -msgstr "选择要移除的软件包" - -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" -msgstr "'${entered_input[*]}' 不是一个有效数字" - -#: rhino-pkg:303 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "从软件包管理器 '${BPurple}${pkgrepo[i]}${NC}' 中选择 " -"'${BPurple}${pkgs[i]}${NC}'" - -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "是否确定? (${BGreen}y${NC}/${BRed}N${NC}) " - -#: rhino-pkg:341 -msgid "Invalid repository name!" -msgstr "无效仓库名称!" diff --git a/rhino-pkg b/rhino-pkg deleted file mode 100755 index 7344c08..0000000 --- a/rhino-pkg +++ /dev/null @@ -1,439 +0,0 @@ -#!/bin/bash - -tabs -4 - -export TEXTDOMAIN=rhino-pkg -if [[ -n $RHINOPKG_DEBUG ]]; then - export TEXTDOMAINDIR="${PWD}/locale" -else - export TEXTDOMAINDIR=/usr/share/locale -fi - -# Colors -if [[ -z $NO_COLOR ]]; then - export NC=$'\033[0m' - export BGreen=$'\033[1;32m' - export BCyan=$'\033[1;36m' - export BYellow=$'\033[1;33m' - export BPurple=$'\033[1;35m' - export BRed=$'\033[1;31m' - export BWhite=$'\033[1;37m' - export c1=$'\u001b[38;5;104m' # light purple - export c2=$'\u001b[0m' # white/reset - export c3=$'\u001b[38;5;55m' # dark purple - export c4=$'\u001b[38;5;98m' # medium purple -fi - -help_flag="USAGE: $(basename $0) [function] {flag} - -functions: - install: Install package(s) - Prompts user to respond with - the number(s) associated with the desired package(s). - - remove: Uninstall package(s) - Prompts user to respond with - the number(s) associated with the desired package(s). - - search: Search for package(s) - Does not have a second prompt. - - update: Updates all packages accessible to the wrapper - does - not accept , instead use install to update - individual packages. Has a confirmation prompt. - - cleanup: Attempts to repair broken dependencies and remove any - unused packages. Does not accept , but has - a confirmation prompt. - -flags: - --help/-h: Display this page - - --description/-d: By default, $(basename $0) will only display packages - that contain within their name. Use this flag to increase - range and display packages with in their description. - - -y: Makes functions with confirmation prompts run promptless. - -input: - Provide a package name or description. - -Example execution: - \$ $(basename $0) install foobar - Found packages matching '${BPurple}foobar${NC}': - - [${BGreen}0${NC}]: pyfoobar (${BGreen}apt${NC}) - [${BGreen}1${NC}]: foobarshell (${BGreen}apt${NC}) - [${BCyan}2${NC}]: foobar (${BCyan}flatpak${NC}) - [${BRed}3${NC}]: foobar-web (${BRed}snap${NC}) - [${BYellow}4${NC}]: foobar-bin (${BYellow}pacstall${NC}) - [${BYellow}5${NC}]: foobar-theme (${BYellow}pacstall${NC}) - - Select which package to install [0-5]: 3 4 5 - Selecting '${BPurple}foobar-web${NC}' from package manager '${BPurple}snap${NC}' - Selecting '${BPurple}foobar-bin${NC}' from package manager '${BPurple}pacstall${NC}' - Selecting '${BPurple}foobar-theme${NC}' from package manager '${BPurple}pacstall${NC}' - Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) - [...] - -${c1} .;:;,. .: -${c1} 'coooooooo:oo.';. -${c1} ,oooooooooooooooo ; -${c1} clllcccllloooooooo;c:'o -${c1}.${c3};${c4}';:::::::::${c1}cclooooooo' -${c3}''',${c4}::::::::::::::${c1}ccclc. -${c3}.'''${c4};::::::::::${c2}l${c4}::::::: -${c3} ''''${c4},:::::::::${c2}kd${c4}. -${c3} .'''''${c4},;::${c2}ck:${c2}oW${c4}; -${c3} ''''''''${c2}kXOM. -${c3} .,,:${c2}dXMK -${c3} ${c2}:k - -$(basename "$0") 0.1.2 -A package manager wrapper for Pacstall, APT, Flatpak and snap -Developed by Elsie19 for -the Rhino Linux distribution." - -function msg() { - local input="$*" - echo -e "$input" -} - -function prompt() { - local input="$1" - local index="$2" - echo -ne "$input [0-$index]: ${BWhite}" -} - -function clearscr() { - tput cuu 1 && tput el -} - -function search_pacstall() { - if [[ -z $DESCRIPTION ]]; then - if ! pacstall -S "$*" > /dev/null 2>&1; then - return 1 - else - # remove color codes - local contents=("$(pacstall -S "$*" | sed 's/\x1B\[[0-9;]\{1,\}[A-Za-z]//g' | awk '{print $1}')") - fi - else - if ! pacstall -Sd "$*" > /dev/null 2>&1; then - return 1 - else - # remove color codes - local contents=("$(pacstall -Sd "$*" | sed 's/\x1B\[[0-9;]\{1,\}[A-Za-z]//g' | awk '{print $1}')") - fi - fi - echo "${contents[@]}" -} - -function search_apt() { - if [[ -z $DESCRIPTION ]]; then - local contents=("$(apt-cache search --names-only "$*" | awk '{print $1}')") - else - local contents=("$(apt-cache search "$*" | awk '{print $1}')") - fi - if [[ -n $contents ]]; then - echo "${contents[@]}" - else - return 1 - fi -} - -function search_flatpak() { - if [[ -z $DESCRIPTION ]]; then - local contents=("$(LC_ALL=C sudo flatpak search --columns="application" "$*" | grep -i --color=never "$*")") - else - local contents=("$(LC_ALL=C sudo flatpak search --columns="application" "$*")") - fi - if [[ ${contents[*]} == "No matches found" ]]; then - return 1 - else - echo "${contents[@]}" - fi -} - -function search_snap() { - if [[ -z $DESCRIPTION ]]; then - local contents=("$(snap find "$*" | awk '{ print $1 }' | tail -n +2 | grep -i --color=never "$*")") - else - local contents=("$(snap find "$*" | awk '{ print $1 }' | tail -n +2)") - fi - if [[ ${contents[*]} == "No matching snaps for"* ]]; then - return 1 - else - echo "${contents[@]}" - fi -} - -case "${1}" in - search) - SEARCH=true - shift - ;; - install) - INSTALL=true - shift - ;; - remove) - REMOVE=true - shift - ;; - cleanup) - CLEANUP=true - shift - if [[ $1 == "-y" ]]; then - PROMPTLESS=true - shift - fi - ;; - update) - UPDATE=true - shift - if [[ $1 == "-y" ]]; then - PROMPTLESS=true - shift - fi - ;; - -h | --help) - echo "$help_flag" - exit 0 - ;; - *) - echo "$help_flag" - exit 1 - ;; -esac - -if [[ $1 == "-d" || $1 == "--description" ]]; then - DESCRIPTION=true - shift -fi - -if [[ -n $UPDATE ]]; then - if [[ -n $* ]]; then - exit 1 - fi - if [[ -z $PROMPTLESS ]]; then - echo -n $"Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " - read -ra read_update - echo -ne "${NC}" - else - read_update=("Y") - fi - case "${read_update[0]}" in - Y* | y*) ;; - *) exit 1 ;; - esac - if command -v nala &> /dev/null; then - if [[ -n $PROMPTLESS ]]; then - sudo nala upgrade -y --full --no-autoremove -o Acquire::AllowReleaseInfoChange="true" - else - sudo nala upgrade --full --no-autoremove -o Acquire::AllowReleaseInfoChange="true" - fi - else - if [[ -n $PROMPTLESS ]]; then - sudo apt update --allow-releaseinfo-change && sudo apt upgrade -y - else - sudo apt update --allow-releaseinfo-change && sudo apt upgrade - fi - fi - if command -v pacstall &> /dev/null; then - if [[ -n $PROMPTLESS ]]; then - pacstall -U - pacstall -PUp - else - pacstall -U - pacstall -Up - fi - fi - if command -v flatpak &> /dev/null; then - if [[ -n $PROMPTLESS ]]; then - sudo flatpak update -y - else - sudo flatpak update - fi - fi - if command -v snap &> /dev/null; then - sudo snap refresh - fi - exit 0 -fi - -if [[ -n $CLEANUP ]]; then - if [[ -n $* ]]; then - exit 1 - fi - if [[ -z $PROMPTLESS ]]; then - echo -n $"Attempting to repair dependencies and remove unused packages. Continue? (${BGreen}y${NC}/${BRed}N${NC}) " - read -ra read_update - echo -ne "${NC}" - else - read_update=("Y") - fi - case "${read_update[0]}" in - Y* | y*) ;; - *) exit 1 ;; - esac - if command -v nala &> /dev/null; then - if [[ -n $PROMPTLESS ]]; then - sudo nala install --fix-broken && sudo nala autoremove -y - else - sudo nala install --fix-broken && sudo nala autoremove - fi - else - if [[ -n $PROMPTLESS ]]; then - sudo apt --fix-broken install && sudo apt auto-remove -y - else - sudo apt --fix-broken install && sudo apt auto-remove - fi - fi - if command -v flatpak &> /dev/null; then - if [[ -n $PROMPTLESS ]]; then - sudo flatpak repair && sudo flatpak uninstall --unused -y - else - sudo flatpak repair && sudo flatpak uninstall --unused - fi - fi - if command -v snap &> /dev/null; then - if [[ -z "$(LANG=C snap list --all | while read snapname ver rev trk pub notes; do if [[ "$notes" == *disabled* ]]; then sudo snap remove "$snapname" --revision="$rev"; fi; done)" ]]; then - echo "Nothing for snap to clean." - fi - fi - exit 0 -fi - -# Lowercase the rest of input -set -- "${*,,}" - -if command -v pacstall &> /dev/null; then - msg $"Searching Pacstall…" - pacstall_search_list=($(search_pacstall $*)) - clearscr -fi -msg $"Searching apt…" -apt_search_list=($(search_apt $*)) -clearscr -if command -v flatpak &> /dev/null; then - msg $"Searching flatpak…" - flatpak_search_list=($(search_flatpak $*)) - clearscr -fi -if command -v snap &> /dev/null; then - msg $"Searching snap…" - snap_search_list=($(search_snap $*)) - clearscr -fi - -if [[ ${#pacstall_search_list} -eq 0 && ${#apt_search_list} -eq 0 && ${#flatpak_search_list} -eq 0 && ${#snap_search_list} -eq 0 ]]; then - msg $"No packages found matching '$*'!" - exit 1 -fi - -msg $"Found packages matching '${BPurple}$*${NC}':" -echo - -count=0 -pkgs=() -pkgrepo=() - -for i in "${flatpak_search_list[@]}"; do - echo -e "[${BCyan}$count${NC}]: $i (${BCyan}flatpak${NC})" - pkgs+=("$i") - pkgrepo+=("flatpak") - ((count++)) -done -for i in "${apt_search_list[@]}"; do - echo -e "[${BGreen}$count${NC}]: $i (${BGreen}apt${NC})" - pkgs+=("$i") - pkgrepo+=("apt") - ((count++)) -done -for i in "${pacstall_search_list[@]}"; do - echo -e "[${BYellow}$count${NC}]: $i (${BYellow}pacstall${NC})" - pkgs+=("$i") - pkgrepo+=("pacstall") - ((count++)) -done -for i in "${snap_search_list[@]}"; do - echo -e "[${BRed}$count${NC}]: $i (${BRed}snap${NC})" - pkgs+=("$i") - pkgrepo+=("snap") - ((count++)) -done - -((count--)) - -if [[ -n $SEARCH ]]; then - exit 0 -fi - -echo - -if [[ -n $INSTALL ]]; then - flatpak_cmd="install" - snap_cmd="install" - apt_cmd="install" - pacstall_cmd="-I" - prompt $"Select which package to install" "$count" -elif [[ -n $REMOVE ]]; then - flatpak_cmd="remove" - snap_cmd="remove" - apt_cmd="remove" - pacstall_cmd="-R" - prompt $"Select which package to remove" "$count" -fi - -read -ra entered_input -echo -ne "${NC}" -if ((count == 0)) && [[ -z ${entered_input[*]} ]]; then - entered_input="0" -elif [[ ! ${entered_input[*]} =~ ^(([0-9])\s?)+ ]]; then - msg $"'${entered_input[*]}' is not a valid number" - exit 1 -fi - -for i in "${entered_input[@]}"; do - msg $"Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -done - -echo -n $"Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -read -r sure -case "${sure}" in - Y* | y*) - true - ;; - *) - exit 1 - ;; -esac - -for i in "${entered_input[@]}"; do - case "${pkgrepo[i]}" in - flatpak) - sudo flatpak "${flatpak_cmd}" "${pkgs[i]}" -y - ret=$? - ;; - apt) - if command -v nala &> /dev/null; then - sudo nala "${apt_cmd}" "${pkgs[i]}" -y - ret=$? - else - sudo apt "${apt_cmd}" "${pkgs[i]}" -y - ret=$? - fi - ;; - pacstall) - pacstall "${pacstall_cmd}" "${pkgs[i]}" - ret=$? - ;; - snap) - sudo snap "${snap_cmd}" "${pkgs[i]}" - ret=$? - ;; - *) - msg $"Invalid repository name!" - exit 1 - ;; - esac -done - -exit "$ret" From a5bb6f506d1c82d7500698a46867a1268badbca2 Mon Sep 17 00:00:00 2001 From: Elsie Date: Thu, 5 Dec 2024 10:58:12 -0500 Subject: [PATCH 29/44] fix: add back license file --- LICENSE | 674 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 674 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f288702 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. From d11eb2f407f608985c1b763bf92ae6749a905062 Mon Sep 17 00:00:00 2001 From: Henry Wenger-Stickel Date: Tue, 31 Dec 2024 14:53:48 -0600 Subject: [PATCH 30/44] Add back PO files for prep --- po/LINGUAS | 20 +++++++++++++ po/ar.po | 70 ++++++++++++++++++++++++++++++++++++++++++++ po/bn.po | 61 +++++++++++++++++++++++++++++++++++++++ po/de.po | 68 +++++++++++++++++++++++++++++++++++++++++++ po/enm.po | 59 +++++++++++++++++++++++++++++++++++++ po/es.po | 64 +++++++++++++++++++++++++++++++++++++++++ po/fr.po | 60 ++++++++++++++++++++++++++++++++++++++ po/hi.po | 61 +++++++++++++++++++++++++++++++++++++++ po/id.po | 61 +++++++++++++++++++++++++++++++++++++++ po/ie.po | 70 ++++++++++++++++++++++++++++++++++++++++++++ po/it.po | 61 +++++++++++++++++++++++++++++++++++++++ po/ka.po | 74 +++++++++++++++++++++++++++++++++++++++++++++++ po/ko.po | 64 +++++++++++++++++++++++++++++++++++++++++ po/nl.po | 71 +++++++++++++++++++++++++++++++++++++++++++++ po/pt_BR.po | 71 +++++++++++++++++++++++++++++++++++++++++++++ po/rhino-pkg.pot | 39 +++++++++++++++++++++++++ po/ro.po | 61 +++++++++++++++++++++++++++++++++++++++ po/ru.po | 70 ++++++++++++++++++++++++++++++++++++++++++++ po/sv.po | 59 +++++++++++++++++++++++++++++++++++++ po/uk.po | 75 ++++++++++++++++++++++++++++++++++++++++++++++++ po/ur.po | 61 +++++++++++++++++++++++++++++++++++++++ po/zh_CN.po | 69 ++++++++++++++++++++++++++++++++++++++++++++ 22 files changed, 1369 insertions(+) create mode 100644 po/LINGUAS create mode 100644 po/ar.po create mode 100644 po/bn.po create mode 100644 po/de.po create mode 100644 po/enm.po create mode 100644 po/es.po create mode 100644 po/fr.po create mode 100644 po/hi.po create mode 100644 po/id.po create mode 100644 po/ie.po create mode 100644 po/it.po create mode 100644 po/ka.po create mode 100644 po/ko.po create mode 100644 po/nl.po create mode 100644 po/pt_BR.po create mode 100644 po/rhino-pkg.pot create mode 100644 po/ro.po create mode 100644 po/ru.po create mode 100644 po/sv.po create mode 100644 po/uk.po create mode 100644 po/ur.po create mode 100644 po/zh_CN.po diff --git a/po/LINGUAS b/po/LINGUAS new file mode 100644 index 0000000..3929f98 --- /dev/null +++ b/po/LINGUAS @@ -0,0 +1,20 @@ +ar +bn +de +enm +es +fr +hi +id +ie +it +ka +ko +nl +pt_BR +ro +ru +sv +uk +ur +zh_CN diff --git a/po/ar.po b/po/ar.po new file mode 100644 index 0000000..e252fd8 --- /dev/null +++ b/po/ar.po @@ -0,0 +1,70 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-25 23:52+0200\n" +"PO-Revision-Date: 2024-02-08 13:02+0000\n" +"Last-Translator: 7A9Oo \n" +"Language-Team: Arabic \n" +"Language: ar\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " +"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" +"X-Generator: Weblate 5.4-dev\n" + +#: rhino-pkg:186 +msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " +msgstr "هل أنت متأكد من تحديث كل الحزم؟ (${BGreen}y${NC}/${BRed}N${NC}). " + +#: rhino-pkg:218 +msgid "Searching Pacstall…" +msgstr "جار البحث عن Pacstall…" + +#: rhino-pkg:222 +msgid "Searching apt…" +msgstr "جار البحث عن apt…" + +#: rhino-pkg:226 +msgid "Searching flatpak…" +msgstr "جار البحث عن flatpak…" + +#: rhino-pkg:231 +msgid "Searching snap…" +msgstr "جار البحث عن snap…" + +#: rhino-pkg:237 +msgid "No packages found matching '$*'!" +msgstr "لا يوجد حزمة مطابقة '$*'!" + +#: rhino-pkg:241 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "حزم متوفرة مطابقة '${BPurple}$*${NC}':" + +#: rhino-pkg:286 +msgid "Select which package to install" +msgstr "إختر الحزمة المراد تنصيبها" + +#: rhino-pkg:292 +msgid "Select which package to remove" +msgstr "إختر الحزمة المراد حذفها" + +#: rhino-pkg:298 +msgid "'${entered_input[*]}' is not a valid number" +msgstr "'${entered_input[*]}' رقم غير مطابق" + +#: rhino-pkg:303 +msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" +msgstr "" +"إختيار '${BPurple}${pkgs[i]}${NC}' من مدير الحزم " +"'${BPurple}${pkgrepo[i]}${NC}'" + +#: rhino-pkg:306 +msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +msgstr "هل أنت متأكد ؟ (${BGreen}y${NC}/${BRed}N${NC}). " + +#: rhino-pkg:341 +msgid "Invalid repository name!" +msgstr "اسم المستودع خاطئ !" diff --git a/po/bn.po b/po/bn.po new file mode 100644 index 0000000..586d47b --- /dev/null +++ b/po/bn.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-06 11:12-0500\n" +"PO-Revision-Date: 2023-02-06 20:02+0000\n" +"Last-Translator: Sourajyoti Basak \n" +"Language-Team: Bengali \n" +"Language: bn\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.15.2\n" + +#: rhino-pkg:73 +msgid "No input given!" +msgstr "কোনো ইনপুট দেওয়া হয়নি!" + +#: rhino-pkg:77 +msgid "Searching Pacstall…" +msgstr "Pacstall-এ খোঁজ করা হচ্ছে…" + +#: rhino-pkg:81 +msgid "Searching apt…" +msgstr "apt-এ খোঁজ করা হচ্ছে…" + +#: rhino-pkg:85 +msgid "Searching flatpak…" +msgstr "flatpak-এ খোঁজ করা হচ্ছে…" + +#: rhino-pkg:90 +msgid "Searching snap…" +msgstr "snap-এ খোঁজ করা হচ্ছে…" + +#: rhino-pkg:96 +msgid "No packages found matching '$*'!" +msgstr "'$*' এর সাথে মিলিত কোনো প্যাকেজ পাওয়া যায়নি!" + +#: rhino-pkg:99 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "'${BPurple}$*${NC}' এর সাথে মিলিত প্যাকেজগুলি পাওয়া গেছে:" + +#: rhino-pkg:135 +msgid "Select which package to install" +msgstr "কোন প্যাকেজ ইনস্টল করতে হবে তা নির্বাচন করুন" + +#: rhino-pkg:139 +msgid "'$entered_input' is not a valid number" +msgstr "'$entered_input' একটি বৈধ সংখ্যা নয়" + +#: rhino-pkg:143 +msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" +msgstr "" +"প্যাকেজ ম্যানেজার '${BPurple}${pkgs[i]}${NC}' থেকে " +"'${BPurple}${pkgrepo[i]}${NC}' নির্বাচন করা হচ্ছে" + +#: rhino-pkg:168 +msgid "Invalid repository name!" +msgstr "অবৈধ সংগ্রহস্থলের নাম!" diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000..39857a6 --- /dev/null +++ b/po/de.po @@ -0,0 +1,68 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-09 14:06+0200\n" +"PO-Revision-Date: 2024-01-09 13:06+0000\n" +"Last-Translator: Oliver Schantz \n" +"Language-Team: German \n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: ENCODING\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.4-dev\n" + +#: rhino-pkg:186 +msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " +msgstr "Sind Sie sicher, dass sie alle Pakete aktualisieren möchten? (${BGreen}y${NC}/${BRed}N${NC}) " + +#: rhino-pkg:218 +msgid "Searching Pacstall…" +msgstr "Suche in Pacstall…" + +#: rhino-pkg:222 +msgid "Searching apt…" +msgstr "Suche in APT…" + +#: rhino-pkg:226 +msgid "Searching flatpak…" +msgstr "Suche in Flatpak…" + +#: rhino-pkg:231 +msgid "Searching snap…" +msgstr "Suche in Snap…" + +#: rhino-pkg:237 +msgid "No packages found matching '$*'!" +msgstr "Keine passenden Pakete zu '$*' gefunden!" + +#: rhino-pkg:241 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "Pakete passend zu '${BPurple}$*${NC}' gefunden:" + +#: rhino-pkg:286 +msgid "Select which package to install" +msgstr "Wählen Sie Pakete aus, welche Installiert werden sollen" + +#: rhino-pkg:292 +msgid "Select which package to remove" +msgstr "Wählen Sie die Pakete aus, welche Sie löschen möchten." + +#: rhino-pkg:298 +msgid "'${entered_input[*]}' is not a valid number" +msgstr "'${entered_input[*]}' ist keine gültige Zahl" + +#: rhino-pkg:303 +msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" +msgstr "'${BPurple}${pkgs[i]}${NC}' von Paketmanager '${BPurple}${pkgrepo[i]}${NC}' wird gewählt" + +#: rhino-pkg:306 +msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +msgstr "Sind Sie sich sicher? (${BGreen}y${NC}/${BRed}N${NC}) " + +#: rhino-pkg:341 +msgid "Invalid repository name!" +msgstr "Ungültiger Repository Name!" diff --git a/po/enm.po b/po/enm.po new file mode 100644 index 0000000..d3f7437 --- /dev/null +++ b/po/enm.po @@ -0,0 +1,59 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-06 08:38-0500\n" +"PO-Revision-Date: 2023-02-06 14:38+0000\n" +"Last-Translator: Twilight is-the-best \n" +"Language-Team: English (Middle) \n" +"Language: enm\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.15.2\n" + +#: rhino-pkg:85 +msgid "No input given!" +msgstr "Input hath not been given!" + +#: rhino-pkg:95 +msgid "Searching Pacstall…" +msgstr "Doth searching Pacstall…" + +#: rhino-pkg:99 +msgid "Searching apt…" +msgstr "Doth searching apt…" + +#: rhino-pkg:103 +msgid "Searching flatpak…" +msgstr "Doth searching flatpak…" + +#: rhino-pkg:108 +msgid "Searching snap…" +msgstr "Doth searching snap…" + +#: rhino-pkg:114 +msgid "No packages found matching '$*'!" +msgstr "No packages found matching doth name '$*'!" + +#: rhino-pkg:117 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "Found packages doth matching '${BPurple}$*${NC}':" + +#: rhino-pkg:153 +msgid "Select which package to install" +msgstr "Select doth packages to which to install" + +#: rhino-pkg:157 +msgid "'$entered_input' is not a valid number" +msgstr "'$entered_input' is not a proper number" + +#: rhino-pkg:161 +msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" +msgstr "Selecting '${BPurple}${pkgs[i]}${NC}' from thine package manager '${BPurple}${pkgrepo[i]}${NC}'" + +#: rhino-pkg:186 +msgid "Invalid repository name!" +msgstr "Thou hast supplied an improper repository name!" diff --git a/po/es.po b/po/es.po new file mode 100644 index 0000000..0296690 --- /dev/null +++ b/po/es.po @@ -0,0 +1,64 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-07-14 01:39+0200\n" +"PO-Revision-Date: 2024-07-13 23:39+0000\n" +"Last-Translator: Oren Klopfer \n" +"Language-Team: Spanish \n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: ENCODING\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.7-dev\n" + +#: rhino-pkg:73 +msgid "No input given!" +msgstr "¡Ninguna entrada dada!" + +#: rhino-pkg:77 +msgid "Searching Pacstall…" +msgstr "Buscando Pacstall…" + +#: rhino-pkg:81 +msgid "Searching apt…" +msgstr "Buscando apt…" + +#: rhino-pkg:85 +msgid "Searching flatpak…" +msgstr "Buscando flatpak…" + +#: rhino-pkg:90 +msgid "Searching snap…" +msgstr "Buscando snap…" + +#: rhino-pkg:96 +msgid "No packages found matching '$*'!" +msgstr "¡Fueron encontrados paquetes que coinciden con '$*'!" + +#: rhino-pkg:99 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "Paquetes encontrados que coinciden con '${BPurple}$*${NC}':" + +#: rhino-pkg:135 +msgid "Select which package to install" +msgstr "Seleccione el paquete que desea instalar" + +#: rhino-pkg:139 +msgid "'$entered_input' is not a valid number" +msgstr "'$entered_input' no es un número válido" + +#: rhino-pkg:143 +msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" +msgstr "Seleccionando '${BPurple}${pkgs[i]}${NC}' del gestor de paquetes '${BPurple}${pkgrepo[i]}${NC}'" + +#: rhino-pkg:168 +msgid "Invalid repository name!" +msgstr "¡Nombre de repositorio inválido!" + +#: rhino-pkg:253 +msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +msgstr "¿Estás seguro? (${BGreen}y${NC}/${BRed}N${NC}) " diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 0000000..9d71523 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,60 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-07-14 00:43+0200\n" +"PO-Revision-Date: 2024-07-13 22:43+0000\n" +"Last-Translator: Oren Klopfer \n" +"Language-Team: French \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: ENCODING\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 5.7-dev\n" + +#: rhino-pkg:73 +msgid "No input given!" +msgstr "Aucune entrée n'a été donnée !" + +#: rhino-pkg:77 +msgid "Searching Pacstall…" +msgstr "Recherche de Pacstall…" + +#: rhino-pkg:81 +msgid "Searching apt…" +msgstr "Recherche de l'apt…" + +#: rhino-pkg:85 +msgid "Searching flatpak…" +msgstr "Recherche de flatpak…" + +#: rhino-pkg:90 +msgid "Searching snap…" +msgstr "Recherche de snap…" + +#: rhino-pkg:96 +msgid "No packages found matching '$*'!" +msgstr "Aucun paquet trouvé correspondant à '$*' !" + +#: rhino-pkg:99 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "Paquets trouvés correspondant à '${BPurple}$*${NC}':" + +#: rhino-pkg:135 +msgid "Select which package to install" +msgstr "Sélectionnez le paquet à installer" + +#: rhino-pkg:139 +msgid "'$entered_input' is not a valid number" +msgstr "'$entered_input' n'est pas un nombre valide" + +#: rhino-pkg:143 +msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" +msgstr "Sélection de '${BPurple}${pkgs[i]}${NC}' dans le gestionnaire de paquets '${BPurple}${pkgrepo[i]}${NC}'" + +#: rhino-pkg:168 +msgid "Invalid repository name!" +msgstr "Nom de dépôt non valide !" diff --git a/po/hi.po b/po/hi.po new file mode 100644 index 0000000..ef08704 --- /dev/null +++ b/po/hi.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-06 11:11-0500\n" +"PO-Revision-Date: 2023-02-06 20:02+0000\n" +"Last-Translator: Sourajyoti Basak \n" +"Language-Team: Hindi \n" +"Language: hi\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.15.2\n" + +#: rhino-pkg:97 +msgid "No input given!" +msgstr "कोई इनपुट नहीं दिया!" + +#: rhino-pkg:110 +msgid "Searching Pacstall…" +msgstr "Pacstall में खोजा जा रहा है…" + +#: rhino-pkg:114 +msgid "Searching apt…" +msgstr "APT में खोजा जा रहा है…" + +#: rhino-pkg:118 +msgid "Searching flatpak…" +msgstr "फ्लैटपैक में खोजा जा रहा है…" + +#: rhino-pkg:123 +msgid "Searching snap…" +msgstr "स्नैप में खोजा जा रहा है…" + +#: rhino-pkg:129 +msgid "No packages found matching '$*'!" +msgstr "'$*' से मेल खाता कोई पैकेज नहीं मिला!" + +#: rhino-pkg:132 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "'${Bpurple}$*${NC}' से मेल खाने वाले पैकेज मिले:" + +#: rhino-pkg:168 +msgid "Select which package to install" +msgstr "इनस्टॉल करने के लिए एक पैकेज चुनें" + +#: rhino-pkg:172 +msgid "'$entered_input' is not a valid number" +msgstr "'$entered_input' वैध संख्या नहीं है" + +#: rhino-pkg:176 +msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" +msgstr "" +"पैकेज मैनेजर '${Bpurple}${pkgs[i]}${NC}' से " +"'${Bpurple}${pkgrepo[i]}${NC}' चुने गए हैं" + +#: rhino-pkg:201 +msgid "Invalid repository name!" +msgstr "अवैध भंडार का नाम!" diff --git a/po/id.po b/po/id.po new file mode 100644 index 0000000..5882c6e --- /dev/null +++ b/po/id.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"POT-Creation-Date: \n" +"PO-Revision-Date: \n" +"Last-Translator: yukidream \n" +"Language-Team: \n" +"Language: id\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Poedit 3.2.2\n" + +#: rhino-pkg:97 +msgid "No input given!" +msgstr "Tidak ada masukan!" + +#: rhino-pkg:110 +msgid "Searching Pacstall…" +msgstr "Mencari Pacstall…" + +#: rhino-pkg:114 +msgid "Searching apt…" +msgstr "Mencari apt…" + +#: rhino-pkg:118 +msgid "Searching flatpak…" +msgstr "Mencari flatpak…" + +#: rhino-pkg:123 +msgid "Searching snap…" +msgstr "Mencari snap…" + +#: rhino-pkg:129 +msgid "No packages found matching '$*'!" +msgstr "Tidak menemukan paket yang cocok '$*'!" + +#: rhino-pkg:132 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "Menemukan paket yang sesuai '${BPurple}$*${NC}':" + +#: rhino-pkg:168 +msgid "Select which package to install" +msgstr "Memilih paket yang akan dipasang" + +#: rhino-pkg:172 +msgid "'$entered_input' is not a valid number" +msgstr "'$entered_input' bukan angka yang sah" + +#: rhino-pkg:176 +msgid "" +"Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +"'${BPurple}${pkgrepo[i]}${NC}'" +msgstr "" +"Memilih'${BPurple}${pkgs[i]}${NC}' dari manajemen paket " +"'${BPurple}${pkgrepo[i]}${NC}'" + +#: rhino-pkg:201 +msgid "Invalid repository name!" +msgstr "Nama repositori yang tidak sah!" diff --git a/po/ie.po b/po/ie.po new file mode 100644 index 0000000..c857101 --- /dev/null +++ b/po/ie.po @@ -0,0 +1,70 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-08-18 07:04+0200\n" +"PO-Revision-Date: 2023-08-18 05:26+0000\n" +"Last-Translator: OIS \n" +"Language-Team: Occidental \n" +"Language: ie\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.0-dev\n" + +#: rhino-pkg:186 +msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " +msgstr "" +"Esque vu vole actualisar omni paccages? (${BGreen}y${NC}/${BRed}N${NC}) " + +#: rhino-pkg:218 +msgid "Searching Pacstall…" +msgstr "Serchante Pacstall…" + +#: rhino-pkg:222 +msgid "Searching apt…" +msgstr "Serchante apt…" + +#: rhino-pkg:226 +msgid "Searching flatpak…" +msgstr "Serchante flatpak…" + +#: rhino-pkg:231 +msgid "Searching snap…" +msgstr "Serchante snap…" + +#: rhino-pkg:237 +msgid "No packages found matching '$*'!" +msgstr "Null paccages trovat quel corresponde a '$*'!" + +#: rhino-pkg:241 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "Trovat paccages correspondente a '${BPurple}$*${NC}':" + +#: rhino-pkg:286 +msgid "Select which package to install" +msgstr "Selecter un paccage a installar" + +#: rhino-pkg:292 +msgid "Select which package to remove" +msgstr "Selecter un paccage a remover" + +#: rhino-pkg:298 +msgid "'${entered_input[*]}' is not a valid number" +msgstr "'${entered_input[*]}' ne es un valid númere" + +#: rhino-pkg:303 +msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" +msgstr "" +"Selecte '${BPurple}${pkgs[i]}${NC}' del gerente de paccages " +"'${BPurple}${pkgrepo[i]}${NC}'" + +#: rhino-pkg:306 +msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +msgstr "Esque vu es cert? (${BGreen}y${NC}/${BRed}N${NC}) " + +#: rhino-pkg:341 +msgid "Invalid repository name!" +msgstr "Ínvalid nómine de un repositoria!" diff --git a/po/it.po b/po/it.po new file mode 100644 index 0000000..e978940 --- /dev/null +++ b/po/it.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-07-08 11:52+0200\n" +"PO-Revision-Date: 2024-06-04 16:09+0000\n" +"Last-Translator: Dario \n" +"Language-Team: Italian \n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.6-dev\n" + +#: rhino-pkg:73 +msgid "No input given!" +msgstr "Nessun input fornito!" + +#: rhino-pkg:77 +msgid "Searching Pacstall…" +msgstr "Cerco su Pacstall…" + +#: rhino-pkg:81 +msgid "Searching apt…" +msgstr "Cerco su apt…" + +#: rhino-pkg:85 +msgid "Searching flatpak…" +msgstr "Cerco su flatpak…" + +#: rhino-pkg:90 +msgid "Searching snap…" +msgstr "Cerco su snap…" + +#: rhino-pkg:96 +msgid "No packages found matching '$*'!" +msgstr "Nessun pacchetto corrisponde a '$*'!" + +#: rhino-pkg:99 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "Trovati pacchetti corrispondenti a '${BPurple}$*${NC}':" + +#: rhino-pkg:135 +msgid "Select which package to install" +msgstr "Seleziona il pacchetto da installare" + +#: rhino-pkg:139 +msgid "'$entered_input' is not a valid number" +msgstr "'$entered_input' non è un numero valido" + +#: rhino-pkg:143 +msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" +msgstr "" +"Seleziono '${BPurple}${pkgs[i]}${NC}' dal gestore di pacchetti " +"'${BPurple}${pkgrepo[i]}${NC}'" + +#: rhino-pkg:168 +msgid "Invalid repository name!" +msgstr "Nome repository errato!" diff --git a/po/ka.po b/po/ka.po new file mode 100644 index 0000000..e2cc61b --- /dev/null +++ b/po/ka.po @@ -0,0 +1,74 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-08 10:55+0200\n" +"PO-Revision-Date: 2024-01-09 13:06+0000\n" +"Last-Translator: Temuri Doghonadze \n" +"Language-Team: Georgian \n" +"Language: ka\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.4-dev\n" + +#: rhino-pkg:186 +msgid "" +"Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" +"N${NC}) " +msgstr "" +"მართლა გნებავთ ყველა პაკეტის განახლება? (${BGreen}y${NC}/${BRed}N${NC}) " + +#: rhino-pkg:218 +msgid "Searching Pacstall…" +msgstr "ძებნა Pacstall-ში…" + +#: rhino-pkg:222 +msgid "Searching apt…" +msgstr "ძებნა apt-ში…" + +#: rhino-pkg:226 +msgid "Searching flatpak…" +msgstr "ძებნა flatpak-ში…" + +#: rhino-pkg:231 +msgid "Searching snap…" +msgstr "ძებნა snap-ში…" + +#: rhino-pkg:237 +msgid "No packages found matching '$*'!" +msgstr "ვერ ვიპოვე პაკეტი, რომელიც ემთხვევა სტრიქონს '$*'!" + +#: rhino-pkg:241 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "ნაპოვნი პაკეტები, რომლებიც ემთხვევა სტრიქონს '${BPurple}$*${NC}':" + +#: rhino-pkg:286 +msgid "Select which package to install" +msgstr "აირჩიეთ, რომელი პაკეტი დავაყენო" + +#: rhino-pkg:292 +msgid "Select which package to remove" +msgstr "აირჩიეთ, რომელი პაკეტი წავშალო" + +#: rhino-pkg:298 +msgid "'${entered_input[*]}' is not a valid number" +msgstr "'${entered_input[*]}' სწორი რიცხვი არაა" + +#: rhino-pkg:303 +msgid "" +"Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +"'${BPurple}${pkgrepo[i]}${NC}'" +msgstr "" +"ავირჩიე '${BPurple}${pkgs[i]}${NC}' პაკეტების მმართველიდან " +"'${BPurple}${pkgrepo[i]}${NC}'" + +#: rhino-pkg:306 +msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +msgstr "დარწმუნებულ ბრძანდებით? (${BGreen}y${NC}/${BRed}N${NC}) " + +#: rhino-pkg:341 +msgid "Invalid repository name!" +msgstr "არასწორი რეპოზიტორიის სახელი!" diff --git a/po/ko.po b/po/ko.po new file mode 100644 index 0000000..129c2c3 --- /dev/null +++ b/po/ko.po @@ -0,0 +1,64 @@ +# Header entry was created by Lokalize. +# +# Electronics, 2023. +msgid "" +msgstr "" +"Project-Id-Version: \n" +"PO-Revision-Date: 2023-02-16 03:02+0000\n" +"Last-Translator: DtotheFuture \n" +"Language-Team: Korean \n" +"Language: ko\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 4.15.2\n" + +#: rhino-pkg:97 +msgid "No input given!" +msgstr "주어진 입력 값이 없습니다!" + +#: rhino-pkg:110 +msgid "Searching Pacstall…" +msgstr "Pacstall 검색 중…" + +#: rhino-pkg:114 +msgid "Searching apt…" +msgstr "APT 검색 중…" + +#: rhino-pkg:118 +msgid "Searching flatpak…" +msgstr "Flatpak 검색 중…" + +#: rhino-pkg:123 +msgid "Searching snap…" +msgstr "Snap 검색 중…" + +#: rhino-pkg:129 +msgid "No packages found matching '$*'!" +msgstr "'$*'와 일치하는 패키지를 찾을 수 없습니다!" + +#: rhino-pkg:132 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "'${BPurple}$*${NC}'와 일치하는 패키지를 찾았습니다:" + +#: rhino-pkg:168 +msgid "Select which package to install" +msgstr "설치할 패키지를 선택해주세요" + +#: rhino-pkg:172 +msgid "'$entered_input' is not a valid number" +msgstr "'$entered_input'은 유효한 번호가 아닙니다" + +#: rhino-pkg:176 +msgid "" +"Selecting '${BPurple}${pkgs[i]}${NC}' from package manager" +" '${BPurple}${pkgrepo[i]}${NC}'" +msgstr "" +"패키지 관리자 '${BPurple}${pkgrepo[i]}${NC}'에서 Selecting " +"'${BPurple}${pkgs[i]}${NC}'를 선택했습니다" + +#: rhino-pkg:201 +msgid "Invalid repository name!" +msgstr "저장소 이름이 잘못되었습니다!" diff --git a/po/nl.po b/po/nl.po new file mode 100644 index 0000000..369bf06 --- /dev/null +++ b/po/nl.po @@ -0,0 +1,71 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-26 07:06-0500\n" +"PO-Revision-Date: 2023-02-26 15:03+0000\n" +"Last-Translator: Heimen Stoffels \n" +"Language-Team: Dutch \n" +"Language: nl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.15.2\n" + +#: rhino-pkg:186 +msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " +msgstr "" +"Weet u zeker dat u alle pakketten wilt bijwerken? " +"(${BGreen}y${NC}/${BRed}N${NC}) " + +#: rhino-pkg:218 +msgid "Searching Pacstall…" +msgstr "Bezig met doorzoeken van Pacstall…" + +#: rhino-pkg:222 +msgid "Searching apt…" +msgstr "Bezig met doorzoeken van apt…" + +#: rhino-pkg:226 +msgid "Searching flatpak…" +msgstr "Bezig met doorzoeken van Flatpak…" + +#: rhino-pkg:231 +msgid "Searching snap…" +msgstr "Bezig met doorzoeken van Snap…" + +#: rhino-pkg:237 +msgid "No packages found matching '$*'!" +msgstr "Er zijn geen pakketten gevonden die overeenkomen met '$*'!" + +#: rhino-pkg:241 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "Pakketten die overeenkomen met '${BPurple}$*${NC}':" + +#: rhino-pkg:286 +msgid "Select which package to install" +msgstr "Kies de te installeren pakketten" + +#: rhino-pkg:292 +msgid "Select which package to remove" +msgstr "Kies de te verwijderen pakketten" + +#: rhino-pkg:298 +msgid "'${entered_input[*]}' is not a valid number" +msgstr "'${entered_input[*]}' is geen geldig getal" + +#: rhino-pkg:303 +msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" +msgstr "" +"Keuzes: '${BPurple}${pkgs[i]}${NC}' met behulp van pakketbeheerder " +"'${BPurple}${pkgrepo[i]}${NC}'" + +#: rhino-pkg:306 +msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +msgstr "Weet u het zeker? (${BGreen}y${NC}/${BRed}N${NC}) " + +#: rhino-pkg:341 +msgid "Invalid repository name!" +msgstr "De pakketbronnaam is ongeldig!" diff --git a/po/pt_BR.po b/po/pt_BR.po new file mode 100644 index 0000000..98ecf47 --- /dev/null +++ b/po/pt_BR.po @@ -0,0 +1,71 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-05 08:57-0500\n" +"PO-Revision-Date: 2023-06-05 14:08+0000\n" +"Last-Translator: Raul Dipeas \n" +"Language-Team: Portuguese (Brazil) \n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.17\n" + +#: rhino-pkg:186 +msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " +msgstr "" +"Tem certeza de que deseja atualizar todos os pacotes? " +"(${BGreen}y${NC}/${BRed}N${NC}) " + +#: rhino-pkg:218 +msgid "Searching Pacstall…" +msgstr "Procurando Pacstall…" + +#: rhino-pkg:222 +msgid "Searching apt…" +msgstr "Procurando apt…" + +#: rhino-pkg:226 +msgid "Searching flatpak…" +msgstr "Procurando flatpak…" + +#: rhino-pkg:231 +msgid "Searching snap…" +msgstr "Procurando snap…" + +#: rhino-pkg:237 +msgid "No packages found matching '$*'!" +msgstr "Nenhum pacote encontrado correspondente a '$*'!" + +#: rhino-pkg:241 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "Pacotes encontrados correspondentes a '${BPurple}$*${NC}':" + +#: rhino-pkg:286 +msgid "Select which package to install" +msgstr "Selecione qual pacote instalar" + +#: rhino-pkg:292 +msgid "Select which package to remove" +msgstr "Selecione qual pacote remover" + +#: rhino-pkg:298 +msgid "'${entered_input[*]}' is not a valid number" +msgstr "'${entered_input[*]}' não é um número válido" + +#: rhino-pkg:303 +msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" +msgstr "" +"Selecionando '${BPurple}${pkgs[i]}${NC}' do gerenciador de pacotes " +"'${BPurple}${pkgrepo[i]}${NC}'" + +#: rhino-pkg:306 +msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +msgstr "Tem certeza? (${BGreen}y${NC}/${BRed}N${NC}) " + +#: rhino-pkg:341 +msgid "Invalid repository name!" +msgstr "Nome de repositório inválido!" diff --git a/po/rhino-pkg.pot b/po/rhino-pkg.pot new file mode 100644 index 0000000..9082b11 --- /dev/null +++ b/po/rhino-pkg.pot @@ -0,0 +1,39 @@ +#: rhino-pkg:186 +msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " +msgstr "" +#: rhino-pkg:218 +msgid "Searching Pacstall…" +msgstr "" +#: rhino-pkg:222 +msgid "Searching apt…" +msgstr "" +#: rhino-pkg:226 +msgid "Searching flatpak…" +msgstr "" +#: rhino-pkg:231 +msgid "Searching snap…" +msgstr "" +#: rhino-pkg:237 +msgid "No packages found matching '$*'!" +msgstr "" +#: rhino-pkg:241 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "" +#: rhino-pkg:286 +msgid "Select which package to install" +msgstr "" +#: rhino-pkg:292 +msgid "Select which package to remove" +msgstr "" +#: rhino-pkg:298 +msgid "'${entered_input[*]}' is not a valid number" +msgstr "" +#: rhino-pkg:303 +msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" +msgstr "" +#: rhino-pkg:306 +msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +msgstr "" +#: rhino-pkg:341 +msgid "Invalid repository name!" +msgstr "" diff --git a/po/ro.po b/po/ro.po new file mode 100644 index 0000000..081fbff --- /dev/null +++ b/po/ro.po @@ -0,0 +1,61 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-26 21:16+0200\n" +"PO-Revision-Date: 2023-06-26 19:16+0000\n" +"Last-Translator: Elsie \n" +"Language-Team: Romanian \n" +"Language: ro\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: ENCODING\n" +"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " +"20)) ? 1 : 2;\n" +"X-Generator: Weblate 4.18.1\n" + +#: rhino-pkg:73 +msgid "No input given!" +msgstr "Nu am primit termeni de căutare!" + +#: rhino-pkg:77 +msgid "Searching Pacstall…" +msgstr "Căutare în Pacstall…" + +#: rhino-pkg:81 +msgid "Searching apt…" +msgstr "Căutare în apt…" + +#: rhino-pkg:85 +msgid "Searching flatpak…" +msgstr "Căutare în flatpak…" + +#: rhino-pkg:90 +msgid "Searching snap…" +msgstr "Căutare în snap…" + +#: rhino-pkg:96 +msgid "No packages found matching '$*'!" +msgstr "Nu au fost găsite aplicații care să se potrivească cu '$*'!" + +#: rhino-pkg:99 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "Următoarele aplicații care se potrivesc cu '${BPurple}$*${NC}' au fost găsite:" + +#: rhino-pkg:135 +msgid "Select which package to install" +msgstr "Selectează care aplicație să fie instalată" + +#: rhino-pkg:139 +msgid "'$entered_input' is not a valid number" +msgstr "'$entered_input' nu este un număr valid" + +#: rhino-pkg:143 +msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" +msgstr "Ai selectat '${BPurple}${pkgs[i]}${NC}' din registrul de aplicații '${BPurple}${pkgrepo[i]}${NC}'" + +#: rhino-pkg:168 +msgid "Invalid repository name!" +msgstr "Acest registru de aplicații nu există!" diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 0000000..fe6def2 --- /dev/null +++ b/po/ru.po @@ -0,0 +1,70 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-08-18 07:26+0200\n" +"PO-Revision-Date: 2023-08-18 21:19+0000\n" +"Last-Translator: OIS \n" +"Language-Team: Russian \n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 5.0-dev\n" + +#: rhino-pkg:186 +msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " +msgstr "Обновить все пакеты? (${BGreen}y${NC} да/${BRed}N${NC} нет) " + +#: rhino-pkg:218 +msgid "Searching Pacstall…" +msgstr "Поиск в Pacstall…" + +#: rhino-pkg:222 +msgid "Searching apt…" +msgstr "Поиск в apt…" + +#: rhino-pkg:226 +msgid "Searching flatpak…" +msgstr "Поиск во flatpak…" + +#: rhino-pkg:231 +msgid "Searching snap…" +msgstr "Поиск в snap…" + +#: rhino-pkg:237 +msgid "No packages found matching '$*'!" +msgstr "Не найдены пакеты по шаблону '$*'!" + +#: rhino-pkg:241 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "Пакеты по шаблону '${BPurple}$*${NC}':" + +#: rhino-pkg:286 +msgid "Select which package to install" +msgstr "Выберите устанавливаемый пакет" + +#: rhino-pkg:292 +msgid "Select which package to remove" +msgstr "Выберите удаляемый пакет" + +#: rhino-pkg:298 +msgid "'${entered_input[*]}' is not a valid number" +msgstr "'${entered_input[*]}' не является числом" + +#: rhino-pkg:303 +msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" +msgstr "" +"Выбран '${BPurple}${pkgs[i]}${NC}' из менеджера пакетов " +"'${BPurple}${pkgrepo[i]}${NC}'" + +#: rhino-pkg:306 +msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +msgstr "Вы уверены? (${BGreen}y${NC} да/${BRed}N${NC} нет) " + +#: rhino-pkg:341 +msgid "Invalid repository name!" +msgstr "Неверное имя репозитория!" diff --git a/po/sv.po b/po/sv.po new file mode 100644 index 0000000..39ad16a --- /dev/null +++ b/po/sv.po @@ -0,0 +1,59 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-07-14 00:52+0200\n" +"PO-Revision-Date: 2024-12-29 13:01+0000\n" +"Last-Translator: Patrik Nilsson \n" +"Language-Team: Swedish \n" +"Language: sv\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 5.10-dev\n" + +#: rhino-pkg:73 +msgid "No input given!" +msgstr "Ingen input given!" + +#: rhino-pkg:77 +msgid "Searching Pacstall…" +msgstr "Söker i Pacstall…" + +#: rhino-pkg:81 +msgid "Searching apt…" +msgstr "Söker i apt…" + +#: rhino-pkg:85 +msgid "Searching flatpak…" +msgstr "Söker i flatpak…" + +#: rhino-pkg:90 +msgid "Searching snap…" +msgstr "Söker i snap…" + +#: rhino-pkg:96 +msgid "No packages found matching '$*'!" +msgstr "Inga paket hittas som liknar '$*'!" + +#: rhino-pkg:99 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "Hittade paket som liknar '${BPurple}$*${NC}':" + +#: rhino-pkg:135 +msgid "Select which package to install" +msgstr "Välj vilket paket att installera" + +#: rhino-pkg:139 +msgid "'$entered_input' is not a valid number" +msgstr "'$entered_input' är inte ett giltigt nummer" + +#: rhino-pkg:143 +msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" +msgstr "Väljer '${BPurple}${pkgs[i]}${NC}' från pakethanterare '${BPurple}${pkgrepo[i]}${NC}'" + +#: rhino-pkg:168 +msgid "Invalid repository name!" +msgstr "Ogiltigt arkivnamn!" diff --git a/po/uk.po b/po/uk.po new file mode 100644 index 0000000..8b85a43 --- /dev/null +++ b/po/uk.po @@ -0,0 +1,75 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-06-15 21:00+0200\n" +"PO-Revision-Date: 2023-06-16 19:51+0000\n" +"Last-Translator: Dan \n" +"Language-Team: Ukrainian \n" +"Language: uk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"X-Generator: Weblate 4.18.1\n" + +#: rhino-pkg:186 +msgid "" +"Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N" +"${NC}) " +msgstr "" +"Ви впевнені, що хочете оновити всі пакунки? (${BGreen}y${NC}/${BRed}N${NC}) " + +#: rhino-pkg:218 +msgid "Searching Pacstall…" +msgstr "Пошук Pacstall…" + +#: rhino-pkg:222 +msgid "Searching apt…" +msgstr "Пошук apt…" + +#: rhino-pkg:226 +msgid "Searching flatpak…" +msgstr "Пошук flatpak…" + +#: rhino-pkg:231 +msgid "Searching snap…" +msgstr "Пошук snap…" + +#: rhino-pkg:237 +msgid "No packages found matching '$*'!" +msgstr "Не знайдено пакунків, що відповідають '$*'!" + +#: rhino-pkg:241 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "Знайдено пакунки, які відповідають '${BPurple}$*${NC}':" + +#: rhino-pkg:286 +msgid "Select which package to install" +msgstr "Виберіть, який пакунок встановити" + +#: rhino-pkg:292 +msgid "Select which package to remove" +msgstr "Виберіть, який пакунок видалити" + +#: rhino-pkg:298 +msgid "'${entered_input[*]}' is not a valid number" +msgstr "'${entered_input[*]}' неприпустиме число" + +#: rhino-pkg:303 +msgid "" +"Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +"'${BPurple}${pkgrepo[i]}${NC}'" +msgstr "" +"Вибір '${BPurple}${pkgs[i]}${NC}' з менеджера пакунків " +"'${BPurple}${pkgrepo[i]}${NC}'" + +#: rhino-pkg:306 +msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +msgstr "Ви впевнені? (${BGreen}y${NC}/${BRed}N${NC}) " + +#: rhino-pkg:341 +msgid "Invalid repository name!" +msgstr "Неправильна назва сховища!" diff --git a/po/ur.po b/po/ur.po new file mode 100644 index 0000000..60d4c45 --- /dev/null +++ b/po/ur.po @@ -0,0 +1,61 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2023-02-06 11:47-0500\n" +"PO-Revision-Date: 2023-02-06 20:02+0000\n" +"Last-Translator: Sourajyoti Basak \n" +"Language-Team: Urdu \n" +"Language: ur\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 4.15.2\n" + +#: rhino-pkg:97 +msgid "No input given!" +msgstr "کوئی ان پٹ نہیں دیا گیا!" + +#: rhino-pkg:110 +msgid "Searching Pacstall…" +msgstr "Pacstall میں تلاش کر رہا ہے…" + +#: rhino-pkg:114 +msgid "Searching apt…" +msgstr "apt میں تلاش کر رہا ہے…" + +#: rhino-pkg:118 +msgid "Searching flatpak…" +msgstr "flatpak میں تلاش کر رہا ہے…" + +#: rhino-pkg:123 +msgid "Searching snap…" +msgstr "snap میں تلاش کر رہا ہے…" + +#: rhino-pkg:129 +msgid "No packages found matching '$*'!" +msgstr "'$*' سے مماثل کوئی پیکیج نہیں ملا!" + +#: rhino-pkg:132 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "'${Bpurple}$*${NC}' سے مماثل پیکیجز ملے:" + +#: rhino-pkg:168 +msgid "Select which package to install" +msgstr "منتخب کریں کہ کون سا پیکیج انسٹال کرنا ہے" + +#: rhino-pkg:172 +msgid "'$entered_input' is not a valid number" +msgstr "'$entered_input' درست تعداد نہیں ہے" + +#: rhino-pkg:176 +msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" +msgstr "" +"پیکیج مینیجر سے '${BPurple}${pkgs[i]}${NC}' کو منتخب کیا گیا " +"'${BPurple}${pkgrepo[i]}${NC}'" + +#: rhino-pkg:201 +msgid "Invalid repository name!" +msgstr "" diff --git a/po/zh_CN.po b/po/zh_CN.po new file mode 100644 index 0000000..b49ec25 --- /dev/null +++ b/po/zh_CN.po @@ -0,0 +1,69 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-07-14 00:43+0200\n" +"PO-Revision-Date: 2024-07-13 22:43+0000\n" +"Last-Translator: Oren Klopfer \n" +"Language-Team: Chinese (Simplified) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: ENCODING\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.7-dev\n" + +#: rhino-pkg:186 +msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " +msgstr "确定更新全部软件包? (${BGreen}y${NC}/${BRed}N${NC}) " + +#: rhino-pkg:218 +msgid "Searching Pacstall…" +msgstr "正在检索Pacstall…" + +#: rhino-pkg:222 +msgid "Searching apt…" +msgstr "正在检索apt…" + +#: rhino-pkg:226 +msgid "Searching flatpak…" +msgstr "正在检索flatpak…" + +#: rhino-pkg:231 +msgid "Searching snap…" +msgstr "正在检索snap…" + +#: rhino-pkg:237 +msgid "No packages found matching '$*'!" +msgstr "未找到匹配 '$*' 的软件包!" + +#: rhino-pkg:241 +msgid "Found packages matching '${BPurple}$*${NC}':" +msgstr "找到匹配 '${BPurple}$*${NC}' 的软件包:" + +#: rhino-pkg:286 +msgid "Select which package to install" +msgstr "选择要安装的软件包" + +#: rhino-pkg:292 +msgid "Select which package to remove" +msgstr "选择要移除的软件包" + +#: rhino-pkg:298 +msgid "'${entered_input[*]}' is not a valid number" +msgstr "'${entered_input[*]}' 不是一个有效数字" + +#: rhino-pkg:303 +msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" +msgstr "从软件包管理器 '${BPurple}${pkgrepo[i]}${NC}' 中选择 " +"'${BPurple}${pkgs[i]}${NC}'" + +#: rhino-pkg:306 +msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +msgstr "是否确定? (${BGreen}y${NC}/${BRed}N${NC}) " + +#: rhino-pkg:341 +msgid "Invalid repository name!" +msgstr "无效仓库名称!" From 7929d516fbfef1a4493cedc3742d1665958f0faf Mon Sep 17 00:00:00 2001 From: Henry Wenger-Stickel Date: Tue, 31 Dec 2024 14:54:39 -0600 Subject: [PATCH 31/44] Add back readme PO notice --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index be8c9bd..c6c6f71 100644 --- a/README.md +++ b/README.md @@ -54,3 +54,12 @@ Example execution: Are you sure? (y/N) [...] ``` + +### How you can help +* Work on translations into languages not finished yet by either editing the `po/.po` file, making a new one by running `cp po/rhino-pkg.pot po/.po`, or using weblate (https://hosted.weblate.org/projects/rhino-linux/rhino-pkg/). Once you have completed or partially completed a po file, make a PR and we will merge it! Our goal is to have as many languages translated as possible due to the amount of people who may not be fluent in English. + +#### Supported languages + + +Translation status + From dc910e3ab56b45b63519c51030a2d992a0c65e5c Mon Sep 17 00:00:00 2001 From: Henry Wenger-Stickel Date: Tue, 31 Dec 2024 14:56:09 -0600 Subject: [PATCH 32/44] Add back installing PO files --- Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile b/Makefile index 2f7ddea..e291a26 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,9 @@ +SHELL := /usr/bin/env bash + all: install install: + mapfile -t linguas Date: Wed, 1 Jan 2025 11:10:49 -0600 Subject: [PATCH 33/44] Finalize --- modules/lib/cmd.nu | 6 +++--- modules/lib/search.nu | 20 ++++++++++---------- modules/pluggables/apt.nu | 2 +- modules/pluggables/flatpak.nu | 2 +- modules/pluggables/pacstall.nu | 2 +- modules/pluggables/snap.nu | 2 +- rhino-pkg | 27 ++++++++++++++++----------- 7 files changed, 33 insertions(+), 28 deletions(-) diff --git a/modules/lib/cmd.nu b/modules/lib/cmd.nu index c591f95..c854a58 100644 --- a/modules/lib/cmd.nu +++ b/modules/lib/cmd.nu @@ -1,4 +1,4 @@ -export def exists [cmd: string] -> bool { +export def exists [cmd: string] : nothing -> bool { ((which $cmd | length) > 0) } @@ -13,7 +13,7 @@ export def print-color [type: string] { } } -export def prompt [ask: string, pkgs: list] -> table { +export def prompt [ask: string, pkgs: list] : nothing -> table { let input = (input $"($ask) [0-(($pkgs | length) - 1)]: ") if ($input | is-empty) { [($pkgs | enumerate).0.item] @@ -25,7 +25,7 @@ export def prompt [ask: string, pkgs: list] -> table { | filter {|key| $key in 0..<($pkgs | length)} ) if ($parsed | is-empty) { - print -e "No valid inputs given" + tprint -e "No valid inputs given" exit 1 } $pkgs diff --git a/modules/lib/search.nu b/modules/lib/search.nu index 66b7538..a1541c0 100644 --- a/modules/lib/search.nu +++ b/modules/lib/search.nu @@ -4,41 +4,41 @@ use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [print-color] export def search-pkgs [ description: bool rest: string -] -> table { +] : nothing -> table { use "/usr/share/rhino-pkg/modules/pluggables/" [pacstall flatpak apt snap] - print "Searching pacstall..." + tprint "Searching pacstall..." let pac_results = (pacstall search $rest $description) clearscr - print "Searching flatpak..." + tprint "Searching flatpak..." let flatpak_results = (flatpak search $rest $description) clearscr - print "Searching apt..." + tprint "Searching apt..." let apt_results = (apt search $rest $description) - print "Searching snap..." + tprint "Searching snap..." let snap_results = (snap search $rest $description) clearscr let total = $snap_results | append $flatpak_results | append $apt_results | append $pac_results mut idx = 0 for bla in $total { let le_color = (print-color $bla.provider) - print $"[($le_color)($idx)(ansi reset)]: ($bla.pkg) \(($le_color)($bla.provider)(ansi reset)\)" + tprint "[{idx}]: {pkg} ({provider})" { idx: $"($le_color)($idx)(ansi reset)", pkg: $bla.pkg, provider: $"($le_color)($bla.provider)(ansi reset)" } $idx += 1 } # Just because someone else might need the table. return $total } -export def search-local-pkgs [search: string] -> table { +export def search-local-pkgs [search: string] : nothing -> table { use "/usr/share/rhino-pkg/modules/pluggables/" [pacstall flatpak apt snap] - print "Searching pacstall..." + tprint "Searching pacstall..." let pac_results = (pacstall list-installed $search) clearscr print "Searching flatpak..." let flatpak_results = (flatpak list-installed $search) clearscr - print "Searching apt..." + tprint "Searching apt..." let apt_results = (apt list-installed $search) - print "Searching snap..." + tprint "Searching snap..." let snap_results = (snap list-installed $search) clearscr let total = $snap_results | append $flatpak_results | append $apt_results | append $pac_results diff --git a/modules/pluggables/apt.nu b/modules/pluggables/apt.nu index 4353d25..50c4a16 100644 --- a/modules/pluggables/apt.nu +++ b/modules/pluggables/apt.nu @@ -9,7 +9,7 @@ export def list-installed [search: string] { } } -export def search [input: string, description: bool] -> table { +export def search [input: string, description: bool] : nothing -> table { if (exists "aptitude") { if $description { # We are searching for something in description diff --git a/modules/pluggables/flatpak.nu b/modules/pluggables/flatpak.nu index 0f606a0..b2c9163 100644 --- a/modules/pluggables/flatpak.nu +++ b/modules/pluggables/flatpak.nu @@ -11,7 +11,7 @@ export def list-installed [search: string] { } } -export def search [input: string, description: bool] -> table { +export def search [input: string, description: bool] : nothing -> table { # Description here is a dummy flag, because flatpak searches by both name and description with no way # to change that afaik. if (exists "flatpak") { diff --git a/modules/pluggables/pacstall.nu b/modules/pluggables/pacstall.nu index 0923b92..4480968 100644 --- a/modules/pluggables/pacstall.nu +++ b/modules/pluggables/pacstall.nu @@ -16,7 +16,7 @@ export def list-installed [search: string] { } } -export def search [input: string, description: bool] -> table { +export def search [input: string, description: bool] : nothing -> table { if (exists "pacstall") { if $description { # We are searching for something in description diff --git a/modules/pluggables/snap.nu b/modules/pluggables/snap.nu index ad08201..a75c7d0 100644 --- a/modules/pluggables/snap.nu +++ b/modules/pluggables/snap.nu @@ -12,7 +12,7 @@ export def list-installed [search: string] { } } -export def search [input: string, description: bool] -> table { +export def search [input: string, description: bool] : nothing -> table { if (exists "snap") { ^snap search $input | detect columns --guess diff --git a/rhino-pkg b/rhino-pkg index a9a1136..e070e2e 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -1,8 +1,13 @@ #!/usr/bin/env nu +plugin add "/usr/share/nutext/nu_plugin_nutext" +plugin use nutext + use "/usr/share/rhino-pkg/modules/lib/" [search] use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [prompt, install-pkg, cleanup-pkg, remove-pkg] +tregister /usr/share/locale/ rhino-pkg + # USAGE: rpk [function] {flag} # # functions: @@ -73,10 +78,10 @@ def main [ --description (-d) # Increase range and display packages with in their description --yes (-y) # Makes functions with confirmation prompts run promptless ...rest: string # 'install', 'remove', 'search', 'update', 'cleanup', etc -] -> int { +] : any -> int { if ($rest | is-empty) { - print -e "Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." - error make -u { msg: "No valid subcommand passed", label: { text: "Failed here", span: (metadata $rest).span } } + tprint -e "Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." + error make -u { msg: (_ "No valid subcommand passed"), label: { text: (_ "Failed here"), span: (metadata $rest).span } } exit 1 } } @@ -97,17 +102,17 @@ def "main install" [ # Block output from `return` here. let dummy = (search search-pkgs $description $rest) if (($dummy | length) <= 0) { - print -e $"No packages found matching '($rest)'" + tprint -e "No packages found matching '{rest}'" { rest: $rest } return } - let which = (prompt "Select which package to install" $dummy) - $which | each {|part| print $"Selecting '(ansi purple_bold)($part.pkg)(ansi reset)' from package manager '(ansi purple_bold)($part.provider)(ansi reset)'" } + let which = (prompt (_ "Select which package to install") $dummy) + $which | each {|part| tprint "Selecting '{pkg}' from package manager '{provider}'" { pkg: $"(ansi purple_bold)($part.pkg)(ansi reset)", provider: $"(ansi purple_bold)($part.provider)(ansi reset)" } } for part in $which { try { install-pkg ($part | reject index) $yes } catch { |err| - print -e $"Failed to install '($part.pkg)'." + tprint -e "Failed to install '{pkg}'." { pkg: $part.pkg } exit $env.LAST_EXIT_CODE } } @@ -120,12 +125,12 @@ def "main remove" [ # Block output from `return` here. let dummy = (search search-local-pkgs $rest) if (($dummy | length) <= 0) { - print -e $"No packages found matching '($rest)'" + tprint -e "No packages found matching '{rest}'" { rest: $rest } return } - let which = (prompt "Select which package to remove" $dummy) + let which = (prompt (_ "Select which package to remove") $dummy) $which | each {|part| - print $"Removing '($part.pkg)' from '($part.provider)'" + tprint -e "Removing '{part}' from '{provider}'" { part: $part.pkg, provider: $part.provider } remove-pkg ($part | reject index) $yes } } @@ -134,7 +139,7 @@ def "main cleanup" [ --yes (-y) # Makes functions with confirmation prompts run promptless ] { if not $yes { - if (input $"Attempting to repair dependencies and remove unused packages. Continue? \((ansi green_bold)y(ansi reset)/(ansi red_bold)N(ansi reset)\) " + if (input (_ "Attempting to repair dependencies and remove unused packages. Continue? ({y}/{n}) " { y: $"(ansi green_bold)y(ansi reset)", n: $"(ansi red_bold)N(ansi reset)" }) | str downcase | str starts-with "n") { exit 1 From fc6aa70423851c928abc74f565fa633582306a8d Mon Sep 17 00:00:00 2001 From: Henry Wenger-Stickel Date: Wed, 1 Jan 2025 11:26:32 -0600 Subject: [PATCH 34/44] Add pot file --- po/rhino-pkg.pot | 85 ++++++++++++++++++++++++++++++++++-------------- 1 file changed, 60 insertions(+), 25 deletions(-) diff --git a/po/rhino-pkg.pot b/po/rhino-pkg.pot index 9082b11..869bc37 100644 --- a/po/rhino-pkg.pot +++ b/po/rhino-pkg.pot @@ -1,39 +1,74 @@ -#: rhino-pkg:186 -msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " +#, fuzzy +msgid "" msgstr "" -#: rhino-pkg:218 -msgid "Searching Pacstall…" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: ENCODING\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" + +#: rhino-pkg +msgid "" +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." msgstr "" -#: rhino-pkg:222 -msgid "Searching apt…" + +#: rhino-pkg +msgid "No valid subcommand passed" msgstr "" -#: rhino-pkg:226 -msgid "Searching flatpak…" + +#: rhino-pkg +msgid "Failed here" msgstr "" -#: rhino-pkg:231 -msgid "Searching snap…" + +#: rhino-pkg +msgid "No packages found matching '{rest}'" msgstr "" -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" + +#: rhino-pkg +msgid "Select which package to install" msgstr "" -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" + +#: rhino-pkg +msgid "Selecting '{pkg}' from package manager '{provider}'" msgstr "" -#: rhino-pkg:286 -msgid "Select which package to install" + +#: rhino-pkg +msgid "Failed to install '{pkg}'." msgstr "" -#: rhino-pkg:292 + +#: rhino-pkg msgid "Select which package to remove" msgstr "" -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" + +#: rhino-pkg +msgid "Removing '{part}' from '{provider}'" +msgstr "" + +#: rhino-pkg +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu +msgid "No valid inputs given" +msgstr "" + +#: search.nu +msgid "Searching pacstall..." +msgstr "" + +#: search.nu +msgid "Searching flatpak..." msgstr "" -#: rhino-pkg:303 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" + +#: search.nu +msgid "Searching apt..." msgstr "" -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " + +#: search.nu +msgid "Searching snap..." msgstr "" -#: rhino-pkg:341 -msgid "Invalid repository name!" + +#: search.nu +msgid "[{idx}]: {pkg} ({provider})" msgstr "" From fac4abaa6126be76d99ad28271d207ece06f37f7 Mon Sep 17 00:00:00 2001 From: Henry Wenger-Stickel Date: Wed, 1 Jan 2025 11:38:18 -0600 Subject: [PATCH 35/44] Use some current translations --- DEVELOPING.md | 4 ++++ modules/lib/search.nu | 16 ++++++++-------- po/rhino-pkg.pot | 8 ++++---- 3 files changed, 16 insertions(+), 12 deletions(-) create mode 100644 DEVELOPING.md diff --git a/DEVELOPING.md b/DEVELOPING.md new file mode 100644 index 0000000..90becff --- /dev/null +++ b/DEVELOPING.md @@ -0,0 +1,4 @@ +# Developing + +## i18n +Run `(printf '%s\n' "${heading[@]}" && xnutext rhino-pkg **/*.nu) | msguniq > po/rhino-pkg.pot` after adding new translatable text. diff --git a/modules/lib/search.nu b/modules/lib/search.nu index a1541c0..2bd09c7 100644 --- a/modules/lib/search.nu +++ b/modules/lib/search.nu @@ -6,15 +6,15 @@ export def search-pkgs [ rest: string ] : nothing -> table { use "/usr/share/rhino-pkg/modules/pluggables/" [pacstall flatpak apt snap] - tprint "Searching pacstall..." + tprint "Searching Pacstall…" let pac_results = (pacstall search $rest $description) clearscr - tprint "Searching flatpak..." + tprint "Searching flatpak…" let flatpak_results = (flatpak search $rest $description) clearscr - tprint "Searching apt..." + tprint "Searching apt…" let apt_results = (apt search $rest $description) - tprint "Searching snap..." + tprint "Searching snap…" let snap_results = (snap search $rest $description) clearscr let total = $snap_results | append $flatpak_results | append $apt_results | append $pac_results @@ -30,15 +30,15 @@ export def search-pkgs [ export def search-local-pkgs [search: string] : nothing -> table { use "/usr/share/rhino-pkg/modules/pluggables/" [pacstall flatpak apt snap] - tprint "Searching pacstall..." + tprint "Searching Pacstall…" let pac_results = (pacstall list-installed $search) clearscr - print "Searching flatpak..." + print "Searching flatpak…" let flatpak_results = (flatpak list-installed $search) clearscr - tprint "Searching apt..." + tprint "Searching apt…" let apt_results = (apt list-installed $search) - tprint "Searching snap..." + tprint "Searching snap…" let snap_results = (snap list-installed $search) clearscr let total = $snap_results | append $flatpak_results | append $apt_results | append $pac_results diff --git a/po/rhino-pkg.pot b/po/rhino-pkg.pot index 869bc37..aee2549 100644 --- a/po/rhino-pkg.pot +++ b/po/rhino-pkg.pot @@ -54,19 +54,19 @@ msgid "No valid inputs given" msgstr "" #: search.nu -msgid "Searching pacstall..." +msgid "Searching Pacstall…" msgstr "" #: search.nu -msgid "Searching flatpak..." +msgid "Searching flatpak…" msgstr "" #: search.nu -msgid "Searching apt..." +msgid "Searching apt…" msgstr "" #: search.nu -msgid "Searching snap..." +msgid "Searching snap…" msgstr "" #: search.nu From 020362352f36251e83b9822abd7aa5f47bbe8914 Mon Sep 17 00:00:00 2001 From: Henry Wenger-Stickel Date: Wed, 1 Jan 2025 13:41:38 -0600 Subject: [PATCH 36/44] Generate line numbers as well --- po/rhino-pkg.pot | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/po/rhino-pkg.pot b/po/rhino-pkg.pot index aee2549..575df53 100644 --- a/po/rhino-pkg.pot +++ b/po/rhino-pkg.pot @@ -6,69 +6,69 @@ msgstr "" "Content-Transfer-Encoding: ENCODING\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: rhino-pkg +#: rhino-pkg:83 msgid "" "Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." msgstr "" -#: rhino-pkg +#: rhino-pkg:84 msgid "No valid subcommand passed" msgstr "" -#: rhino-pkg +#: rhino-pkg:84 msgid "Failed here" msgstr "" -#: rhino-pkg +#: rhino-pkg:105 rhino-pkg:128 msgid "No packages found matching '{rest}'" msgstr "" -#: rhino-pkg +#: rhino-pkg:108 msgid "Select which package to install" msgstr "" -#: rhino-pkg +#: rhino-pkg:109 msgid "Selecting '{pkg}' from package manager '{provider}'" msgstr "" -#: rhino-pkg +#: rhino-pkg:115 msgid "Failed to install '{pkg}'." msgstr "" -#: rhino-pkg +#: rhino-pkg:131 msgid "Select which package to remove" msgstr "" -#: rhino-pkg +#: rhino-pkg:133 msgid "Removing '{part}' from '{provider}'" msgstr "" -#: rhino-pkg +#: rhino-pkg:142 msgid "" "Attempting to repair dependencies and remove unused packages. Continue? ({y}/" "{n}) " msgstr "" -#: cmd.nu +#: cmd.nu:28 msgid "No valid inputs given" msgstr "" -#: search.nu +#: search.nu:9 search.nu:33 msgid "Searching Pacstall…" msgstr "" -#: search.nu +#: search.nu:12 msgid "Searching flatpak…" msgstr "" -#: search.nu +#: search.nu:15 search.nu:39 msgid "Searching apt…" msgstr "" -#: search.nu +#: search.nu:17 search.nu:41 msgid "Searching snap…" msgstr "" -#: search.nu +#: search.nu:24 msgid "[{idx}]: {pkg} ({provider})" msgstr "" From f0b9fb0cff7edda558df543b73800f419b214f20 Mon Sep 17 00:00:00 2001 From: Henry Wenger-Stickel Date: Wed, 1 Jan 2025 14:32:58 -0600 Subject: [PATCH 37/44] Add python brace formatting specifier --- po/rhino-pkg.pot | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/po/rhino-pkg.pot b/po/rhino-pkg.pot index 575df53..ea06e7a 100644 --- a/po/rhino-pkg.pot +++ b/po/rhino-pkg.pot @@ -7,68 +7,84 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" #: rhino-pkg:83 +#, python-brace-format msgid "" "Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." msgstr "" #: rhino-pkg:84 +#, python-brace-format msgid "No valid subcommand passed" msgstr "" #: rhino-pkg:84 +#, python-brace-format msgid "Failed here" msgstr "" #: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format msgid "No packages found matching '{rest}'" msgstr "" #: rhino-pkg:108 +#, python-brace-format msgid "Select which package to install" msgstr "" #: rhino-pkg:109 +#, python-brace-format msgid "Selecting '{pkg}' from package manager '{provider}'" msgstr "" #: rhino-pkg:115 +#, python-brace-format msgid "Failed to install '{pkg}'." msgstr "" #: rhino-pkg:131 +#, python-brace-format msgid "Select which package to remove" msgstr "" #: rhino-pkg:133 +#, python-brace-format msgid "Removing '{part}' from '{provider}'" msgstr "" #: rhino-pkg:142 +#, python-brace-format msgid "" "Attempting to repair dependencies and remove unused packages. Continue? ({y}/" "{n}) " msgstr "" #: cmd.nu:28 +#, python-brace-format msgid "No valid inputs given" msgstr "" #: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "" #: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "" #: search.nu:15 search.nu:39 +#, python-brace-format msgid "Searching apt…" msgstr "" #: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "" #: search.nu:24 +#, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" From e0c01a34f264bf2a139d4d038e73769217cbeee7 Mon Sep 17 00:00:00 2001 From: Henry Wenger-Stickel Date: Wed, 1 Jan 2025 14:38:00 -0600 Subject: [PATCH 38/44] Fix some PO files --- po/ar.po | 132 +++++++++++++++++++++++++++++++++++--------------- po/bn.po | 119 +++++++++++++++++++++++++++++++++------------ po/de.po | 132 ++++++++++++++++++++++++++++++++++++-------------- po/enm.po | 121 ++++++++++++++++++++++++++++++++++------------ po/es.po | 122 +++++++++++++++++++++++++++++++++++------------ po/fr.po | 121 ++++++++++++++++++++++++++++++++++------------ po/hi.po | 123 ++++++++++++++++++++++++++++++++++------------- po/id.po | 121 +++++++++++++++++++++++++++++++++------------- po/ie.po | 128 +++++++++++++++++++++++++++++++++++-------------- po/it.po | 119 +++++++++++++++++++++++++++++++++------------ po/ka.po | 130 +++++++++++++++++++++++++++++++++++--------------- po/ko.po | 121 +++++++++++++++++++++++++++++++++------------- po/nl.po | 134 ++++++++++++++++++++++++++++++++++++--------------- po/pt_BR.po | 130 ++++++++++++++++++++++++++++++++++++-------------- po/ro.po | 119 ++++++++++++++++++++++++++++++++++----------- po/ru.po | 128 +++++++++++++++++++++++++++++++++++-------------- po/sv.po | 117 ++++++++++++++++++++++++++++++++++----------- po/uk.po | 135 ++++++++++++++++++++++++++++++++++++---------------- po/ur.po | 120 +++++++++++++++++++++++++++++++++------------- po/zh_CN.po | 127 ++++++++++++++++++++++++++++++++++-------------- 20 files changed, 1827 insertions(+), 672 deletions(-) diff --git a/po/ar.po b/po/ar.po index e252fd8..522f9b7 100644 --- a/po/ar.po +++ b/po/ar.po @@ -5,8 +5,8 @@ msgstr "" "POT-Creation-Date: 2024-01-25 23:52+0200\n" "PO-Revision-Date: 2024-02-08 13:02+0000\n" "Last-Translator: 7A9Oo \n" -"Language-Team: Arabic \n" +"Language-Team: Arabic \n" "Language: ar\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -15,56 +15,112 @@ msgstr "" "&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" "X-Generator: Weblate 5.4-dev\n" -#: rhino-pkg:186 -msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "هل أنت متأكد من تحديث كل الحزم؟ (${BGreen}y${NC}/${BRed}N${NC}). " +#: rhino-pkg:83 +#, python-brace-format +msgid "" +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" -#: rhino-pkg:218 +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "إختر الحزمة المراد تنصيبها" + +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "إختر الحزمة المراد حذفها" + +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" +msgstr "" + +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "جار البحث عن Pacstall…" -#: rhino-pkg:222 -msgid "Searching apt…" -msgstr "جار البحث عن apt…" - -#: rhino-pkg:226 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "جار البحث عن flatpak…" -#: rhino-pkg:231 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "جار البحث عن apt…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "جار البحث عن snap…" -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" -msgstr "لا يوجد حزمة مطابقة '$*'!" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "حزم متوفرة مطابقة '${BPurple}$*${NC}':" +#~ msgid "" +#~ "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" +#~ "N${NC}) " +#~ msgstr "هل أنت متأكد من تحديث كل الحزم؟ (${BGreen}y${NC}/${BRed}N${NC}). " -#: rhino-pkg:286 -msgid "Select which package to install" -msgstr "إختر الحزمة المراد تنصيبها" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "لا يوجد حزمة مطابقة '$*'!" -#: rhino-pkg:292 -msgid "Select which package to remove" -msgstr "إختر الحزمة المراد حذفها" +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "حزم متوفرة مطابقة '${BPurple}$*${NC}':" -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" -msgstr "'${entered_input[*]}' رقم غير مطابق" +#~ msgid "'${entered_input[*]}' is not a valid number" +#~ msgstr "'${entered_input[*]}' رقم غير مطابق" -#: rhino-pkg:303 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"إختيار '${BPurple}${pkgs[i]}${NC}' من مدير الحزم " -"'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "إختيار '${BPurple}${pkgs[i]}${NC}' من مدير الحزم " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "هل أنت متأكد ؟ (${BGreen}y${NC}/${BRed}N${NC}). " +#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +#~ msgstr "هل أنت متأكد ؟ (${BGreen}y${NC}/${BRed}N${NC}). " -#: rhino-pkg:341 -msgid "Invalid repository name!" -msgstr "اسم المستودع خاطئ !" +#~ msgid "Invalid repository name!" +#~ msgstr "اسم المستودع خاطئ !" diff --git a/po/bn.po b/po/bn.po index 586d47b..eacdb28 100644 --- a/po/bn.po +++ b/po/bn.po @@ -14,48 +14,107 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 4.15.2\n" -#: rhino-pkg:73 -msgid "No input given!" -msgstr "কোনো ইনপুট দেওয়া হয়নি!" +#: rhino-pkg:83 +#, python-brace-format +msgid "" +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" + +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "কোন প্যাকেজ ইনস্টল করতে হবে তা নির্বাচন করুন" -#: rhino-pkg:77 +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "" + +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" +msgstr "" + +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "Pacstall-এ খোঁজ করা হচ্ছে…" -#: rhino-pkg:81 -msgid "Searching apt…" -msgstr "apt-এ খোঁজ করা হচ্ছে…" - -#: rhino-pkg:85 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "flatpak-এ খোঁজ করা হচ্ছে…" -#: rhino-pkg:90 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "apt-এ খোঁজ করা হচ্ছে…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "snap-এ খোঁজ করা হচ্ছে…" -#: rhino-pkg:96 -msgid "No packages found matching '$*'!" -msgstr "'$*' এর সাথে মিলিত কোনো প্যাকেজ পাওয়া যায়নি!" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" + +#~ msgid "No input given!" +#~ msgstr "কোনো ইনপুট দেওয়া হয়নি!" -#: rhino-pkg:99 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "'${BPurple}$*${NC}' এর সাথে মিলিত প্যাকেজগুলি পাওয়া গেছে:" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "'$*' এর সাথে মিলিত কোনো প্যাকেজ পাওয়া যায়নি!" -#: rhino-pkg:135 -msgid "Select which package to install" -msgstr "কোন প্যাকেজ ইনস্টল করতে হবে তা নির্বাচন করুন" +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "'${BPurple}$*${NC}' এর সাথে মিলিত প্যাকেজগুলি পাওয়া গেছে:" -#: rhino-pkg:139 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' একটি বৈধ সংখ্যা নয়" +#~ msgid "'$entered_input' is not a valid number" +#~ msgstr "'$entered_input' একটি বৈধ সংখ্যা নয়" -#: rhino-pkg:143 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"প্যাকেজ ম্যানেজার '${BPurple}${pkgs[i]}${NC}' থেকে " -"'${BPurple}${pkgrepo[i]}${NC}' নির্বাচন করা হচ্ছে" +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "প্যাকেজ ম্যানেজার '${BPurple}${pkgs[i]}${NC}' থেকে " +#~ "'${BPurple}${pkgrepo[i]}${NC}' নির্বাচন করা হচ্ছে" -#: rhino-pkg:168 -msgid "Invalid repository name!" -msgstr "অবৈধ সংগ্রহস্থলের নাম!" +#~ msgid "Invalid repository name!" +#~ msgstr "অবৈধ সংগ্রহস্থলের নাম!" diff --git a/po/de.po b/po/de.po index 39857a6..426a1ce 100644 --- a/po/de.po +++ b/po/de.po @@ -6,8 +6,8 @@ msgstr "" "POT-Creation-Date: 2024-01-09 14:06+0200\n" "PO-Revision-Date: 2024-01-09 13:06+0000\n" "Last-Translator: Oliver Schantz \n" -"Language-Team: German \n" +"Language-Team: German \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -15,54 +15,114 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.4-dev\n" -#: rhino-pkg:186 -msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "Sind Sie sicher, dass sie alle Pakete aktualisieren möchten? (${BGreen}y${NC}/${BRed}N${NC}) " +#: rhino-pkg:83 +#, python-brace-format +msgid "" +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" + +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "Wählen Sie Pakete aus, welche Installiert werden sollen" + +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "Wählen Sie die Pakete aus, welche Sie löschen möchten." -#: rhino-pkg:218 +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" +msgstr "" + +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "Suche in Pacstall…" -#: rhino-pkg:222 -msgid "Searching apt…" -msgstr "Suche in APT…" - -#: rhino-pkg:226 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "Suche in Flatpak…" -#: rhino-pkg:231 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "Suche in APT…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "Suche in Snap…" -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" -msgstr "Keine passenden Pakete zu '$*' gefunden!" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Pakete passend zu '${BPurple}$*${NC}' gefunden:" +#~ msgid "" +#~ "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" +#~ "N${NC}) " +#~ msgstr "" +#~ "Sind Sie sicher, dass sie alle Pakete aktualisieren möchten? (${BGreen}" +#~ "y${NC}/${BRed}N${NC}) " -#: rhino-pkg:286 -msgid "Select which package to install" -msgstr "Wählen Sie Pakete aus, welche Installiert werden sollen" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "Keine passenden Pakete zu '$*' gefunden!" -#: rhino-pkg:292 -msgid "Select which package to remove" -msgstr "Wählen Sie die Pakete aus, welche Sie löschen möchten." +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "Pakete passend zu '${BPurple}$*${NC}' gefunden:" -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" -msgstr "'${entered_input[*]}' ist keine gültige Zahl" +#~ msgid "'${entered_input[*]}' is not a valid number" +#~ msgstr "'${entered_input[*]}' ist keine gültige Zahl" -#: rhino-pkg:303 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "'${BPurple}${pkgs[i]}${NC}' von Paketmanager '${BPurple}${pkgrepo[i]}${NC}' wird gewählt" +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "'${BPurple}${pkgs[i]}${NC}' von Paketmanager " +#~ "'${BPurple}${pkgrepo[i]}${NC}' wird gewählt" -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "Sind Sie sich sicher? (${BGreen}y${NC}/${BRed}N${NC}) " +#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +#~ msgstr "Sind Sie sich sicher? (${BGreen}y${NC}/${BRed}N${NC}) " -#: rhino-pkg:341 -msgid "Invalid repository name!" -msgstr "Ungültiger Repository Name!" +#~ msgid "Invalid repository name!" +#~ msgstr "Ungültiger Repository Name!" diff --git a/po/enm.po b/po/enm.po index d3f7437..1e79ccf 100644 --- a/po/enm.po +++ b/po/enm.po @@ -5,8 +5,8 @@ msgstr "" "POT-Creation-Date: 2023-02-06 08:38-0500\n" "PO-Revision-Date: 2023-02-06 14:38+0000\n" "Last-Translator: Twilight is-the-best \n" -"Language-Team: English (Middle) \n" +"Language-Team: English (Middle) \n" "Language: enm\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -14,46 +14,107 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.15.2\n" -#: rhino-pkg:85 -msgid "No input given!" -msgstr "Input hath not been given!" +#: rhino-pkg:83 +#, python-brace-format +msgid "" +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" + +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "Select doth packages to which to install" + +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "" -#: rhino-pkg:95 +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" +msgstr "" + +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "Doth searching Pacstall…" -#: rhino-pkg:99 -msgid "Searching apt…" -msgstr "Doth searching apt…" - -#: rhino-pkg:103 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "Doth searching flatpak…" -#: rhino-pkg:108 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "Doth searching apt…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "Doth searching snap…" -#: rhino-pkg:114 -msgid "No packages found matching '$*'!" -msgstr "No packages found matching doth name '$*'!" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" -#: rhino-pkg:117 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Found packages doth matching '${BPurple}$*${NC}':" +#~ msgid "No input given!" +#~ msgstr "Input hath not been given!" -#: rhino-pkg:153 -msgid "Select which package to install" -msgstr "Select doth packages to which to install" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "No packages found matching doth name '$*'!" + +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "Found packages doth matching '${BPurple}$*${NC}':" -#: rhino-pkg:157 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' is not a proper number" +#~ msgid "'$entered_input' is not a valid number" +#~ msgstr "'$entered_input' is not a proper number" -#: rhino-pkg:161 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "Selecting '${BPurple}${pkgs[i]}${NC}' from thine package manager '${BPurple}${pkgrepo[i]}${NC}'" +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from thine package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#: rhino-pkg:186 -msgid "Invalid repository name!" -msgstr "Thou hast supplied an improper repository name!" +#~ msgid "Invalid repository name!" +#~ msgstr "Thou hast supplied an improper repository name!" diff --git a/po/es.po b/po/es.po index 0296690..50ae5da 100644 --- a/po/es.po +++ b/po/es.po @@ -15,50 +15,110 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.7-dev\n" -#: rhino-pkg:73 -msgid "No input given!" -msgstr "¡Ninguna entrada dada!" +#: rhino-pkg:83 +#, python-brace-format +msgid "" +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" + +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "Seleccione el paquete que desea instalar" + +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "" -#: rhino-pkg:77 +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" +msgstr "" + +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "Buscando Pacstall…" -#: rhino-pkg:81 -msgid "Searching apt…" -msgstr "Buscando apt…" - -#: rhino-pkg:85 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "Buscando flatpak…" -#: rhino-pkg:90 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "Buscando apt…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "Buscando snap…" -#: rhino-pkg:96 -msgid "No packages found matching '$*'!" -msgstr "¡Fueron encontrados paquetes que coinciden con '$*'!" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" -#: rhino-pkg:99 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Paquetes encontrados que coinciden con '${BPurple}$*${NC}':" +#~ msgid "No input given!" +#~ msgstr "¡Ninguna entrada dada!" -#: rhino-pkg:135 -msgid "Select which package to install" -msgstr "Seleccione el paquete que desea instalar" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "¡Fueron encontrados paquetes que coinciden con '$*'!" + +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "Paquetes encontrados que coinciden con '${BPurple}$*${NC}':" -#: rhino-pkg:139 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' no es un número válido" +#~ msgid "'$entered_input' is not a valid number" +#~ msgstr "'$entered_input' no es un número válido" -#: rhino-pkg:143 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "Seleccionando '${BPurple}${pkgs[i]}${NC}' del gestor de paquetes '${BPurple}${pkgrepo[i]}${NC}'" +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "Seleccionando '${BPurple}${pkgs[i]}${NC}' del gestor de paquetes " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#: rhino-pkg:168 -msgid "Invalid repository name!" -msgstr "¡Nombre de repositorio inválido!" +#~ msgid "Invalid repository name!" +#~ msgstr "¡Nombre de repositorio inválido!" -#: rhino-pkg:253 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "¿Estás seguro? (${BGreen}y${NC}/${BRed}N${NC}) " +#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +#~ msgstr "¿Estás seguro? (${BGreen}y${NC}/${BRed}N${NC}) " diff --git a/po/fr.po b/po/fr.po index 9d71523..a10374a 100644 --- a/po/fr.po +++ b/po/fr.po @@ -6,8 +6,8 @@ msgstr "" "POT-Creation-Date: 2024-07-14 00:43+0200\n" "PO-Revision-Date: 2024-07-13 22:43+0000\n" "Last-Translator: Oren Klopfer \n" -"Language-Team: French \n" +"Language-Team: French \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -15,46 +15,107 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 5.7-dev\n" -#: rhino-pkg:73 -msgid "No input given!" -msgstr "Aucune entrée n'a été donnée !" +#: rhino-pkg:83 +#, python-brace-format +msgid "" +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" + +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "Sélectionnez le paquet à installer" + +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "" -#: rhino-pkg:77 +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" +msgstr "" + +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "Recherche de Pacstall…" -#: rhino-pkg:81 -msgid "Searching apt…" -msgstr "Recherche de l'apt…" - -#: rhino-pkg:85 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "Recherche de flatpak…" -#: rhino-pkg:90 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "Recherche de l'apt…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "Recherche de snap…" -#: rhino-pkg:96 -msgid "No packages found matching '$*'!" -msgstr "Aucun paquet trouvé correspondant à '$*' !" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" -#: rhino-pkg:99 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Paquets trouvés correspondant à '${BPurple}$*${NC}':" +#~ msgid "No input given!" +#~ msgstr "Aucune entrée n'a été donnée !" -#: rhino-pkg:135 -msgid "Select which package to install" -msgstr "Sélectionnez le paquet à installer" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "Aucun paquet trouvé correspondant à '$*' !" + +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "Paquets trouvés correspondant à '${BPurple}$*${NC}':" -#: rhino-pkg:139 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' n'est pas un nombre valide" +#~ msgid "'$entered_input' is not a valid number" +#~ msgstr "'$entered_input' n'est pas un nombre valide" -#: rhino-pkg:143 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "Sélection de '${BPurple}${pkgs[i]}${NC}' dans le gestionnaire de paquets '${BPurple}${pkgrepo[i]}${NC}'" +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "Sélection de '${BPurple}${pkgs[i]}${NC}' dans le gestionnaire de paquets " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#: rhino-pkg:168 -msgid "Invalid repository name!" -msgstr "Nom de dépôt non valide !" +#~ msgid "Invalid repository name!" +#~ msgstr "Nom de dépôt non valide !" diff --git a/po/hi.po b/po/hi.po index ef08704..2e12d98 100644 --- a/po/hi.po +++ b/po/hi.po @@ -5,8 +5,8 @@ msgstr "" "POT-Creation-Date: 2023-02-06 11:11-0500\n" "PO-Revision-Date: 2023-02-06 20:02+0000\n" "Last-Translator: Sourajyoti Basak \n" -"Language-Team: Hindi \n" +"Language-Team: Hindi \n" "Language: hi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -14,48 +14,107 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 4.15.2\n" -#: rhino-pkg:97 -msgid "No input given!" -msgstr "कोई इनपुट नहीं दिया!" +#: rhino-pkg:83 +#, python-brace-format +msgid "" +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" + +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "इनस्टॉल करने के लिए एक पैकेज चुनें" -#: rhino-pkg:110 +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "" + +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" +msgstr "" + +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "Pacstall में खोजा जा रहा है…" -#: rhino-pkg:114 -msgid "Searching apt…" -msgstr "APT में खोजा जा रहा है…" - -#: rhino-pkg:118 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "फ्लैटपैक में खोजा जा रहा है…" -#: rhino-pkg:123 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "APT में खोजा जा रहा है…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "स्नैप में खोजा जा रहा है…" -#: rhino-pkg:129 -msgid "No packages found matching '$*'!" -msgstr "'$*' से मेल खाता कोई पैकेज नहीं मिला!" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" + +#~ msgid "No input given!" +#~ msgstr "कोई इनपुट नहीं दिया!" -#: rhino-pkg:132 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "'${Bpurple}$*${NC}' से मेल खाने वाले पैकेज मिले:" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "'$*' से मेल खाता कोई पैकेज नहीं मिला!" -#: rhino-pkg:168 -msgid "Select which package to install" -msgstr "इनस्टॉल करने के लिए एक पैकेज चुनें" +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "'${Bpurple}$*${NC}' से मेल खाने वाले पैकेज मिले:" -#: rhino-pkg:172 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' वैध संख्या नहीं है" +#~ msgid "'$entered_input' is not a valid number" +#~ msgstr "'$entered_input' वैध संख्या नहीं है" -#: rhino-pkg:176 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"पैकेज मैनेजर '${Bpurple}${pkgs[i]}${NC}' से " -"'${Bpurple}${pkgrepo[i]}${NC}' चुने गए हैं" +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "पैकेज मैनेजर '${Bpurple}${pkgs[i]}${NC}' से '${Bpurple}${pkgrepo[i]}${NC}' चुने " +#~ "गए हैं" -#: rhino-pkg:201 -msgid "Invalid repository name!" -msgstr "अवैध भंडार का नाम!" +#~ msgid "Invalid repository name!" +#~ msgstr "अवैध भंडार का नाम!" diff --git a/po/id.po b/po/id.po index 5882c6e..d3c66a6 100644 --- a/po/id.po +++ b/po/id.po @@ -12,50 +12,107 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Poedit 3.2.2\n" -#: rhino-pkg:97 -msgid "No input given!" -msgstr "Tidak ada masukan!" +#: rhino-pkg:83 +#, python-brace-format +msgid "" +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" + +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "Memilih paket yang akan dipasang" + +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "" + +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" +msgstr "" -#: rhino-pkg:110 +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "Mencari Pacstall…" -#: rhino-pkg:114 -msgid "Searching apt…" -msgstr "Mencari apt…" - -#: rhino-pkg:118 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "Mencari flatpak…" -#: rhino-pkg:123 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "Mencari apt…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "Mencari snap…" -#: rhino-pkg:129 -msgid "No packages found matching '$*'!" -msgstr "Tidak menemukan paket yang cocok '$*'!" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" -#: rhino-pkg:132 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Menemukan paket yang sesuai '${BPurple}$*${NC}':" +#~ msgid "No input given!" +#~ msgstr "Tidak ada masukan!" -#: rhino-pkg:168 -msgid "Select which package to install" -msgstr "Memilih paket yang akan dipasang" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "Tidak menemukan paket yang cocok '$*'!" -#: rhino-pkg:172 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' bukan angka yang sah" +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "Menemukan paket yang sesuai '${BPurple}$*${NC}':" -#: rhino-pkg:176 -msgid "" -"Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -"'${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"Memilih'${BPurple}${pkgs[i]}${NC}' dari manajemen paket " -"'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgid "'$entered_input' is not a valid number" +#~ msgstr "'$entered_input' bukan angka yang sah" + +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "Memilih'${BPurple}${pkgs[i]}${NC}' dari manajemen paket " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#: rhino-pkg:201 -msgid "Invalid repository name!" -msgstr "Nama repositori yang tidak sah!" +#~ msgid "Invalid repository name!" +#~ msgstr "Nama repositori yang tidak sah!" diff --git a/po/ie.po b/po/ie.po index c857101..85b1598 100644 --- a/po/ie.po +++ b/po/ie.po @@ -14,57 +14,113 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.0-dev\n" -#: rhino-pkg:186 -msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " +#: rhino-pkg:83 +#, python-brace-format +msgid "" +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" + +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "Selecter un paccage a installar" + +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "Selecter un paccage a remover" + +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" msgstr "" -"Esque vu vole actualisar omni paccages? (${BGreen}y${NC}/${BRed}N${NC}) " -#: rhino-pkg:218 +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "Serchante Pacstall…" -#: rhino-pkg:222 -msgid "Searching apt…" -msgstr "Serchante apt…" - -#: rhino-pkg:226 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "Serchante flatpak…" -#: rhino-pkg:231 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "Serchante apt…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "Serchante snap…" -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" -msgstr "Null paccages trovat quel corresponde a '$*'!" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Trovat paccages correspondente a '${BPurple}$*${NC}':" +#~ msgid "" +#~ "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" +#~ "N${NC}) " +#~ msgstr "" +#~ "Esque vu vole actualisar omni paccages? (${BGreen}y${NC}/${BRed}N${NC}) " -#: rhino-pkg:286 -msgid "Select which package to install" -msgstr "Selecter un paccage a installar" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "Null paccages trovat quel corresponde a '$*'!" -#: rhino-pkg:292 -msgid "Select which package to remove" -msgstr "Selecter un paccage a remover" +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "Trovat paccages correspondente a '${BPurple}$*${NC}':" -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" -msgstr "'${entered_input[*]}' ne es un valid númere" +#~ msgid "'${entered_input[*]}' is not a valid number" +#~ msgstr "'${entered_input[*]}' ne es un valid númere" -#: rhino-pkg:303 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"Selecte '${BPurple}${pkgs[i]}${NC}' del gerente de paccages " -"'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "Selecte '${BPurple}${pkgs[i]}${NC}' del gerente de paccages " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "Esque vu es cert? (${BGreen}y${NC}/${BRed}N${NC}) " +#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +#~ msgstr "Esque vu es cert? (${BGreen}y${NC}/${BRed}N${NC}) " -#: rhino-pkg:341 -msgid "Invalid repository name!" -msgstr "Ínvalid nómine de un repositoria!" +#~ msgid "Invalid repository name!" +#~ msgstr "Ínvalid nómine de un repositoria!" diff --git a/po/it.po b/po/it.po index e978940..d1399e3 100644 --- a/po/it.po +++ b/po/it.po @@ -14,48 +14,107 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.6-dev\n" -#: rhino-pkg:73 -msgid "No input given!" -msgstr "Nessun input fornito!" +#: rhino-pkg:83 +#, python-brace-format +msgid "" +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" + +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "Seleziona il pacchetto da installare" -#: rhino-pkg:77 +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "" + +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" +msgstr "" + +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "Cerco su Pacstall…" -#: rhino-pkg:81 -msgid "Searching apt…" -msgstr "Cerco su apt…" - -#: rhino-pkg:85 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "Cerco su flatpak…" -#: rhino-pkg:90 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "Cerco su apt…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "Cerco su snap…" -#: rhino-pkg:96 -msgid "No packages found matching '$*'!" -msgstr "Nessun pacchetto corrisponde a '$*'!" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" + +#~ msgid "No input given!" +#~ msgstr "Nessun input fornito!" -#: rhino-pkg:99 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Trovati pacchetti corrispondenti a '${BPurple}$*${NC}':" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "Nessun pacchetto corrisponde a '$*'!" -#: rhino-pkg:135 -msgid "Select which package to install" -msgstr "Seleziona il pacchetto da installare" +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "Trovati pacchetti corrispondenti a '${BPurple}$*${NC}':" -#: rhino-pkg:139 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' non è un numero valido" +#~ msgid "'$entered_input' is not a valid number" +#~ msgstr "'$entered_input' non è un numero valido" -#: rhino-pkg:143 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"Seleziono '${BPurple}${pkgs[i]}${NC}' dal gestore di pacchetti " -"'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "Seleziono '${BPurple}${pkgs[i]}${NC}' dal gestore di pacchetti " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#: rhino-pkg:168 -msgid "Invalid repository name!" -msgstr "Nome repository errato!" +#~ msgid "Invalid repository name!" +#~ msgstr "Nome repository errato!" diff --git a/po/ka.po b/po/ka.po index e2cc61b..85be6e0 100644 --- a/po/ka.po +++ b/po/ka.po @@ -14,61 +14,113 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.4-dev\n" -#: rhino-pkg:186 +#: rhino-pkg:83 +#, python-brace-format msgid "" -"Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" -"N${NC}) " +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." msgstr "" -"მართლა გნებავთ ყველა პაკეტის განახლება? (${BGreen}y${NC}/${BRed}N${NC}) " -#: rhino-pkg:218 +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" + +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "აირჩიეთ, რომელი პაკეტი დავაყენო" + +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "აირჩიეთ, რომელი პაკეტი წავშალო" + +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" +msgstr "" + +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "ძებნა Pacstall-ში…" -#: rhino-pkg:222 -msgid "Searching apt…" -msgstr "ძებნა apt-ში…" - -#: rhino-pkg:226 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "ძებნა flatpak-ში…" -#: rhino-pkg:231 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "ძებნა apt-ში…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "ძებნა snap-ში…" -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" -msgstr "ვერ ვიპოვე პაკეტი, რომელიც ემთხვევა სტრიქონს '$*'!" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "ნაპოვნი პაკეტები, რომლებიც ემთხვევა სტრიქონს '${BPurple}$*${NC}':" +#~ msgid "" +#~ "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" +#~ "N${NC}) " +#~ msgstr "" +#~ "მართლა გნებავთ ყველა პაკეტის განახლება? (${BGreen}y${NC}/${BRed}N${NC}) " -#: rhino-pkg:286 -msgid "Select which package to install" -msgstr "აირჩიეთ, რომელი პაკეტი დავაყენო" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "ვერ ვიპოვე პაკეტი, რომელიც ემთხვევა სტრიქონს '$*'!" -#: rhino-pkg:292 -msgid "Select which package to remove" -msgstr "აირჩიეთ, რომელი პაკეტი წავშალო" +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "ნაპოვნი პაკეტები, რომლებიც ემთხვევა სტრიქონს '${BPurple}$*${NC}':" -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" -msgstr "'${entered_input[*]}' სწორი რიცხვი არაა" +#~ msgid "'${entered_input[*]}' is not a valid number" +#~ msgstr "'${entered_input[*]}' სწორი რიცხვი არაა" -#: rhino-pkg:303 -msgid "" -"Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -"'${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"ავირჩიე '${BPurple}${pkgs[i]}${NC}' პაკეტების მმართველიდან " -"'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "ავირჩიე '${BPurple}${pkgs[i]}${NC}' პაკეტების მმართველიდან " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "დარწმუნებულ ბრძანდებით? (${BGreen}y${NC}/${BRed}N${NC}) " +#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +#~ msgstr "დარწმუნებულ ბრძანდებით? (${BGreen}y${NC}/${BRed}N${NC}) " -#: rhino-pkg:341 -msgid "Invalid repository name!" -msgstr "არასწორი რეპოზიტორიის სახელი!" +#~ msgid "Invalid repository name!" +#~ msgstr "არასწორი რეპოზიტორიის სახელი!" diff --git a/po/ko.po b/po/ko.po index 129c2c3..0fe6102 100644 --- a/po/ko.po +++ b/po/ko.po @@ -15,50 +15,107 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 4.15.2\n" -#: rhino-pkg:97 -msgid "No input given!" -msgstr "주어진 입력 값이 없습니다!" +#: rhino-pkg:83 +#, python-brace-format +msgid "" +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" + +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "설치할 패키지를 선택해주세요" + +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "" + +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" +msgstr "" -#: rhino-pkg:110 +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "Pacstall 검색 중…" -#: rhino-pkg:114 -msgid "Searching apt…" -msgstr "APT 검색 중…" - -#: rhino-pkg:118 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "Flatpak 검색 중…" -#: rhino-pkg:123 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "APT 검색 중…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "Snap 검색 중…" -#: rhino-pkg:129 -msgid "No packages found matching '$*'!" -msgstr "'$*'와 일치하는 패키지를 찾을 수 없습니다!" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" -#: rhino-pkg:132 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "'${BPurple}$*${NC}'와 일치하는 패키지를 찾았습니다:" +#~ msgid "No input given!" +#~ msgstr "주어진 입력 값이 없습니다!" -#: rhino-pkg:168 -msgid "Select which package to install" -msgstr "설치할 패키지를 선택해주세요" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "'$*'와 일치하는 패키지를 찾을 수 없습니다!" -#: rhino-pkg:172 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input'은 유효한 번호가 아닙니다" +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "'${BPurple}$*${NC}'와 일치하는 패키지를 찾았습니다:" -#: rhino-pkg:176 -msgid "" -"Selecting '${BPurple}${pkgs[i]}${NC}' from package manager" -" '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"패키지 관리자 '${BPurple}${pkgrepo[i]}${NC}'에서 Selecting " -"'${BPurple}${pkgs[i]}${NC}'를 선택했습니다" +#~ msgid "'$entered_input' is not a valid number" +#~ msgstr "'$entered_input'은 유효한 번호가 아닙니다" + +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "패키지 관리자 '${BPurple}${pkgrepo[i]}${NC}'에서 Selecting " +#~ "'${BPurple}${pkgs[i]}${NC}'를 선택했습니다" -#: rhino-pkg:201 -msgid "Invalid repository name!" -msgstr "저장소 이름이 잘못되었습니다!" +#~ msgid "Invalid repository name!" +#~ msgstr "저장소 이름이 잘못되었습니다!" diff --git a/po/nl.po b/po/nl.po index 369bf06..b8ae288 100644 --- a/po/nl.po +++ b/po/nl.po @@ -5,8 +5,8 @@ msgstr "" "POT-Creation-Date: 2023-02-26 07:06-0500\n" "PO-Revision-Date: 2023-02-26 15:03+0000\n" "Last-Translator: Heimen Stoffels \n" -"Language-Team: Dutch \n" +"Language-Team: Dutch \n" "Language: nl\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -14,58 +14,114 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.15.2\n" -#: rhino-pkg:186 -msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " +#: rhino-pkg:83 +#, python-brace-format +msgid "" +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" + +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "Kies de te installeren pakketten" + +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "Kies de te verwijderen pakketten" + +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" msgstr "" -"Weet u zeker dat u alle pakketten wilt bijwerken? " -"(${BGreen}y${NC}/${BRed}N${NC}) " -#: rhino-pkg:218 +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "Bezig met doorzoeken van Pacstall…" -#: rhino-pkg:222 -msgid "Searching apt…" -msgstr "Bezig met doorzoeken van apt…" - -#: rhino-pkg:226 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "Bezig met doorzoeken van Flatpak…" -#: rhino-pkg:231 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "Bezig met doorzoeken van apt…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "Bezig met doorzoeken van Snap…" -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" -msgstr "Er zijn geen pakketten gevonden die overeenkomen met '$*'!" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Pakketten die overeenkomen met '${BPurple}$*${NC}':" +#~ msgid "" +#~ "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" +#~ "N${NC}) " +#~ msgstr "" +#~ "Weet u zeker dat u alle pakketten wilt bijwerken? (${BGreen}y${NC}/${BRed}" +#~ "N${NC}) " -#: rhino-pkg:286 -msgid "Select which package to install" -msgstr "Kies de te installeren pakketten" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "Er zijn geen pakketten gevonden die overeenkomen met '$*'!" -#: rhino-pkg:292 -msgid "Select which package to remove" -msgstr "Kies de te verwijderen pakketten" +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "Pakketten die overeenkomen met '${BPurple}$*${NC}':" -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" -msgstr "'${entered_input[*]}' is geen geldig getal" +#~ msgid "'${entered_input[*]}' is not a valid number" +#~ msgstr "'${entered_input[*]}' is geen geldig getal" -#: rhino-pkg:303 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"Keuzes: '${BPurple}${pkgs[i]}${NC}' met behulp van pakketbeheerder " -"'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "Keuzes: '${BPurple}${pkgs[i]}${NC}' met behulp van pakketbeheerder " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "Weet u het zeker? (${BGreen}y${NC}/${BRed}N${NC}) " +#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +#~ msgstr "Weet u het zeker? (${BGreen}y${NC}/${BRed}N${NC}) " -#: rhino-pkg:341 -msgid "Invalid repository name!" -msgstr "De pakketbronnaam is ongeldig!" +#~ msgid "Invalid repository name!" +#~ msgstr "De pakketbronnaam is ongeldig!" diff --git a/po/pt_BR.po b/po/pt_BR.po index 98ecf47..17ef78c 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -14,58 +14,114 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n > 1;\n" "X-Generator: Weblate 4.17\n" -#: rhino-pkg:186 -msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " +#: rhino-pkg:83 +#, python-brace-format +msgid "" +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" + +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "Selecione qual pacote instalar" + +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "Selecione qual pacote remover" + +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" msgstr "" -"Tem certeza de que deseja atualizar todos os pacotes? " -"(${BGreen}y${NC}/${BRed}N${NC}) " -#: rhino-pkg:218 +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "Procurando Pacstall…" -#: rhino-pkg:222 -msgid "Searching apt…" -msgstr "Procurando apt…" - -#: rhino-pkg:226 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "Procurando flatpak…" -#: rhino-pkg:231 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "Procurando apt…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "Procurando snap…" -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" -msgstr "Nenhum pacote encontrado correspondente a '$*'!" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Pacotes encontrados correspondentes a '${BPurple}$*${NC}':" +#~ msgid "" +#~ "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" +#~ "N${NC}) " +#~ msgstr "" +#~ "Tem certeza de que deseja atualizar todos os pacotes? (${BGreen}y${NC}/" +#~ "${BRed}N${NC}) " -#: rhino-pkg:286 -msgid "Select which package to install" -msgstr "Selecione qual pacote instalar" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "Nenhum pacote encontrado correspondente a '$*'!" -#: rhino-pkg:292 -msgid "Select which package to remove" -msgstr "Selecione qual pacote remover" +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "Pacotes encontrados correspondentes a '${BPurple}$*${NC}':" -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" -msgstr "'${entered_input[*]}' não é um número válido" +#~ msgid "'${entered_input[*]}' is not a valid number" +#~ msgstr "'${entered_input[*]}' não é um número válido" -#: rhino-pkg:303 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"Selecionando '${BPurple}${pkgs[i]}${NC}' do gerenciador de pacotes " -"'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "Selecionando '${BPurple}${pkgs[i]}${NC}' do gerenciador de pacotes " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "Tem certeza? (${BGreen}y${NC}/${BRed}N${NC}) " +#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +#~ msgstr "Tem certeza? (${BGreen}y${NC}/${BRed}N${NC}) " -#: rhino-pkg:341 -msgid "Invalid repository name!" -msgstr "Nome de repositório inválido!" +#~ msgid "Invalid repository name!" +#~ msgstr "Nome de repositório inválido!" diff --git a/po/ro.po b/po/ro.po index 081fbff..9eccb4c 100644 --- a/po/ro.po +++ b/po/ro.po @@ -16,46 +16,109 @@ msgstr "" "20)) ? 1 : 2;\n" "X-Generator: Weblate 4.18.1\n" -#: rhino-pkg:73 -msgid "No input given!" -msgstr "Nu am primit termeni de căutare!" +#: rhino-pkg:83 +#, python-brace-format +msgid "" +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" + +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "Selectează care aplicație să fie instalată" + +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "" -#: rhino-pkg:77 +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" +msgstr "" + +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "Căutare în Pacstall…" -#: rhino-pkg:81 -msgid "Searching apt…" -msgstr "Căutare în apt…" - -#: rhino-pkg:85 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "Căutare în flatpak…" -#: rhino-pkg:90 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "Căutare în apt…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "Căutare în snap…" -#: rhino-pkg:96 -msgid "No packages found matching '$*'!" -msgstr "Nu au fost găsite aplicații care să se potrivească cu '$*'!" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" -#: rhino-pkg:99 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Următoarele aplicații care se potrivesc cu '${BPurple}$*${NC}' au fost găsite:" +#~ msgid "No input given!" +#~ msgstr "Nu am primit termeni de căutare!" -#: rhino-pkg:135 -msgid "Select which package to install" -msgstr "Selectează care aplicație să fie instalată" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "Nu au fost găsite aplicații care să se potrivească cu '$*'!" + +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "" +#~ "Următoarele aplicații care se potrivesc cu '${BPurple}$*${NC}' au fost " +#~ "găsite:" -#: rhino-pkg:139 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' nu este un număr valid" +#~ msgid "'$entered_input' is not a valid number" +#~ msgstr "'$entered_input' nu este un număr valid" -#: rhino-pkg:143 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "Ai selectat '${BPurple}${pkgs[i]}${NC}' din registrul de aplicații '${BPurple}${pkgrepo[i]}${NC}'" +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "Ai selectat '${BPurple}${pkgs[i]}${NC}' din registrul de aplicații " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#: rhino-pkg:168 -msgid "Invalid repository name!" -msgstr "Acest registru de aplicații nu există!" +#~ msgid "Invalid repository name!" +#~ msgstr "Acest registru de aplicații nu există!" diff --git a/po/ru.po b/po/ru.po index fe6def2..c5f6246 100644 --- a/po/ru.po +++ b/po/ru.po @@ -15,56 +15,112 @@ msgstr "" "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 5.0-dev\n" -#: rhino-pkg:186 -msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "Обновить все пакеты? (${BGreen}y${NC} да/${BRed}N${NC} нет) " +#: rhino-pkg:83 +#, python-brace-format +msgid "" +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" -#: rhino-pkg:218 +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "Выберите устанавливаемый пакет" + +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "Выберите удаляемый пакет" + +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" +msgstr "" + +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "Поиск в Pacstall…" -#: rhino-pkg:222 -msgid "Searching apt…" -msgstr "Поиск в apt…" - -#: rhino-pkg:226 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "Поиск во flatpak…" -#: rhino-pkg:231 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "Поиск в apt…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "Поиск в snap…" -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" -msgstr "Не найдены пакеты по шаблону '$*'!" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Пакеты по шаблону '${BPurple}$*${NC}':" +#~ msgid "" +#~ "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" +#~ "N${NC}) " +#~ msgstr "Обновить все пакеты? (${BGreen}y${NC} да/${BRed}N${NC} нет) " -#: rhino-pkg:286 -msgid "Select which package to install" -msgstr "Выберите устанавливаемый пакет" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "Не найдены пакеты по шаблону '$*'!" -#: rhino-pkg:292 -msgid "Select which package to remove" -msgstr "Выберите удаляемый пакет" +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "Пакеты по шаблону '${BPurple}$*${NC}':" -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" -msgstr "'${entered_input[*]}' не является числом" +#~ msgid "'${entered_input[*]}' is not a valid number" +#~ msgstr "'${entered_input[*]}' не является числом" -#: rhino-pkg:303 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"Выбран '${BPurple}${pkgs[i]}${NC}' из менеджера пакетов " -"'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "Выбран '${BPurple}${pkgs[i]}${NC}' из менеджера пакетов " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "Вы уверены? (${BGreen}y${NC} да/${BRed}N${NC} нет) " +#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +#~ msgstr "Вы уверены? (${BGreen}y${NC} да/${BRed}N${NC} нет) " -#: rhino-pkg:341 -msgid "Invalid repository name!" -msgstr "Неверное имя репозитория!" +#~ msgid "Invalid repository name!" +#~ msgstr "Неверное имя репозитория!" diff --git a/po/sv.po b/po/sv.po index 39ad16a..25889ae 100644 --- a/po/sv.po +++ b/po/sv.po @@ -14,46 +14,107 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 5.10-dev\n" -#: rhino-pkg:73 -msgid "No input given!" -msgstr "Ingen input given!" +#: rhino-pkg:83 +#, python-brace-format +msgid "" +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" + +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "Välj vilket paket att installera" + +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "" -#: rhino-pkg:77 +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" +msgstr "" + +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "Söker i Pacstall…" -#: rhino-pkg:81 -msgid "Searching apt…" -msgstr "Söker i apt…" - -#: rhino-pkg:85 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "Söker i flatpak…" -#: rhino-pkg:90 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "Söker i apt…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "Söker i snap…" -#: rhino-pkg:96 -msgid "No packages found matching '$*'!" -msgstr "Inga paket hittas som liknar '$*'!" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" -#: rhino-pkg:99 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Hittade paket som liknar '${BPurple}$*${NC}':" +#~ msgid "No input given!" +#~ msgstr "Ingen input given!" -#: rhino-pkg:135 -msgid "Select which package to install" -msgstr "Välj vilket paket att installera" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "Inga paket hittas som liknar '$*'!" + +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "Hittade paket som liknar '${BPurple}$*${NC}':" -#: rhino-pkg:139 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' är inte ett giltigt nummer" +#~ msgid "'$entered_input' is not a valid number" +#~ msgstr "'$entered_input' är inte ett giltigt nummer" -#: rhino-pkg:143 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "Väljer '${BPurple}${pkgs[i]}${NC}' från pakethanterare '${BPurple}${pkgrepo[i]}${NC}'" +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "Väljer '${BPurple}${pkgs[i]}${NC}' från pakethanterare " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#: rhino-pkg:168 -msgid "Invalid repository name!" -msgstr "Ogiltigt arkivnamn!" +#~ msgid "Invalid repository name!" +#~ msgstr "Ogiltigt arkivnamn!" diff --git a/po/uk.po b/po/uk.po index 8b85a43..51becc9 100644 --- a/po/uk.po +++ b/po/uk.po @@ -11,65 +11,118 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" -"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" "X-Generator: Weblate 4.18.1\n" -#: rhino-pkg:186 +#: rhino-pkg:83 +#, python-brace-format msgid "" -"Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N" -"${NC}) " +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." msgstr "" -"Ви впевнені, що хочете оновити всі пакунки? (${BGreen}y${NC}/${BRed}N${NC}) " -#: rhino-pkg:218 +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" + +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "Виберіть, який пакунок встановити" + +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "Виберіть, який пакунок видалити" + +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" +msgstr "" + +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "Пошук Pacstall…" -#: rhino-pkg:222 -msgid "Searching apt…" -msgstr "Пошук apt…" - -#: rhino-pkg:226 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "Пошук flatpak…" -#: rhino-pkg:231 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "Пошук apt…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "Пошук snap…" -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" -msgstr "Не знайдено пакунків, що відповідають '$*'!" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "Знайдено пакунки, які відповідають '${BPurple}$*${NC}':" +#~ msgid "" +#~ "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" +#~ "N${NC}) " +#~ msgstr "" +#~ "Ви впевнені, що хочете оновити всі пакунки? (${BGreen}y${NC}/${BRed}" +#~ "N${NC}) " -#: rhino-pkg:286 -msgid "Select which package to install" -msgstr "Виберіть, який пакунок встановити" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "Не знайдено пакунків, що відповідають '$*'!" -#: rhino-pkg:292 -msgid "Select which package to remove" -msgstr "Виберіть, який пакунок видалити" +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "Знайдено пакунки, які відповідають '${BPurple}$*${NC}':" -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" -msgstr "'${entered_input[*]}' неприпустиме число" +#~ msgid "'${entered_input[*]}' is not a valid number" +#~ msgstr "'${entered_input[*]}' неприпустиме число" -#: rhino-pkg:303 -msgid "" -"Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -"'${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"Вибір '${BPurple}${pkgs[i]}${NC}' з менеджера пакунків " -"'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "Вибір '${BPurple}${pkgs[i]}${NC}' з менеджера пакунків " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "Ви впевнені? (${BGreen}y${NC}/${BRed}N${NC}) " +#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +#~ msgstr "Ви впевнені? (${BGreen}y${NC}/${BRed}N${NC}) " -#: rhino-pkg:341 -msgid "Invalid repository name!" -msgstr "Неправильна назва сховища!" +#~ msgid "Invalid repository name!" +#~ msgstr "Неправильна назва сховища!" diff --git a/po/ur.po b/po/ur.po index 60d4c45..0406f8a 100644 --- a/po/ur.po +++ b/po/ur.po @@ -5,8 +5,8 @@ msgstr "" "POT-Creation-Date: 2023-02-06 11:47-0500\n" "PO-Revision-Date: 2023-02-06 20:02+0000\n" "Last-Translator: Sourajyoti Basak \n" -"Language-Team: Urdu \n" +"Language-Team: Urdu \n" "Language: ur\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -14,48 +14,104 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.15.2\n" -#: rhino-pkg:97 -msgid "No input given!" -msgstr "کوئی ان پٹ نہیں دیا گیا!" +#: rhino-pkg:83 +#, python-brace-format +msgid "" +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" + +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "منتخب کریں کہ کون سا پیکیج انسٹال کرنا ہے" -#: rhino-pkg:110 +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "" + +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" +msgstr "" + +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "Pacstall میں تلاش کر رہا ہے…" -#: rhino-pkg:114 -msgid "Searching apt…" -msgstr "apt میں تلاش کر رہا ہے…" - -#: rhino-pkg:118 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "flatpak میں تلاش کر رہا ہے…" -#: rhino-pkg:123 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "apt میں تلاش کر رہا ہے…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "snap میں تلاش کر رہا ہے…" -#: rhino-pkg:129 -msgid "No packages found matching '$*'!" -msgstr "'$*' سے مماثل کوئی پیکیج نہیں ملا!" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" -#: rhino-pkg:132 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "'${Bpurple}$*${NC}' سے مماثل پیکیجز ملے:" +#~ msgid "No input given!" +#~ msgstr "کوئی ان پٹ نہیں دیا گیا!" -#: rhino-pkg:168 -msgid "Select which package to install" -msgstr "منتخب کریں کہ کون سا پیکیج انسٹال کرنا ہے" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "'$*' سے مماثل کوئی پیکیج نہیں ملا!" -#: rhino-pkg:172 -msgid "'$entered_input' is not a valid number" -msgstr "'$entered_input' درست تعداد نہیں ہے" +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "'${Bpurple}$*${NC}' سے مماثل پیکیجز ملے:" -#: rhino-pkg:176 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "" -"پیکیج مینیجر سے '${BPurple}${pkgs[i]}${NC}' کو منتخب کیا گیا " -"'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgid "'$entered_input' is not a valid number" +#~ msgstr "'$entered_input' درست تعداد نہیں ہے" -#: rhino-pkg:201 -msgid "Invalid repository name!" -msgstr "" +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "پیکیج مینیجر سے '${BPurple}${pkgs[i]}${NC}' کو منتخب کیا گیا " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" diff --git a/po/zh_CN.po b/po/zh_CN.po index b49ec25..2486ebc 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -15,55 +15,112 @@ msgstr "" "Plural-Forms: nplurals=1; plural=0;\n" "X-Generator: Weblate 5.7-dev\n" -#: rhino-pkg:186 -msgid "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "确定更新全部软件包? (${BGreen}y${NC}/${BRed}N${NC}) " +#: rhino-pkg:83 +#, python-brace-format +msgid "" +"Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "No valid subcommand passed" +msgstr "" + +#: rhino-pkg:84 +#, python-brace-format +msgid "Failed here" +msgstr "" + +#: rhino-pkg:105 rhino-pkg:128 +#, python-brace-format +msgid "No packages found matching '{rest}'" +msgstr "" + +#: rhino-pkg:108 +#, python-brace-format +msgid "Select which package to install" +msgstr "选择要安装的软件包" + +#: rhino-pkg:109 +#, python-brace-format +msgid "Selecting '{pkg}' from package manager '{provider}'" +msgstr "" + +#: rhino-pkg:115 +#, python-brace-format +msgid "Failed to install '{pkg}'." +msgstr "" + +#: rhino-pkg:131 +#, python-brace-format +msgid "Select which package to remove" +msgstr "选择要移除的软件包" -#: rhino-pkg:218 +#: rhino-pkg:133 +#, python-brace-format +msgid "Removing '{part}' from '{provider}'" +msgstr "" + +#: rhino-pkg:142 +#, python-brace-format +msgid "" +"Attempting to repair dependencies and remove unused packages. Continue? ({y}/" +"{n}) " +msgstr "" + +#: cmd.nu:28 +#, python-brace-format +msgid "No valid inputs given" +msgstr "" + +#: search.nu:9 search.nu:33 +#, python-brace-format msgid "Searching Pacstall…" msgstr "正在检索Pacstall…" -#: rhino-pkg:222 -msgid "Searching apt…" -msgstr "正在检索apt…" - -#: rhino-pkg:226 +#: search.nu:12 +#, python-brace-format msgid "Searching flatpak…" msgstr "正在检索flatpak…" -#: rhino-pkg:231 +#: search.nu:15 search.nu:39 +#, python-brace-format +msgid "Searching apt…" +msgstr "正在检索apt…" + +#: search.nu:17 search.nu:41 +#, python-brace-format msgid "Searching snap…" msgstr "正在检索snap…" -#: rhino-pkg:237 -msgid "No packages found matching '$*'!" -msgstr "未找到匹配 '$*' 的软件包!" +#: search.nu:24 +#, python-brace-format +msgid "[{idx}]: {pkg} ({provider})" +msgstr "" -#: rhino-pkg:241 -msgid "Found packages matching '${BPurple}$*${NC}':" -msgstr "找到匹配 '${BPurple}$*${NC}' 的软件包:" +#~ msgid "" +#~ "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" +#~ "N${NC}) " +#~ msgstr "确定更新全部软件包? (${BGreen}y${NC}/${BRed}N${NC}) " -#: rhino-pkg:286 -msgid "Select which package to install" -msgstr "选择要安装的软件包" +#~ msgid "No packages found matching '$*'!" +#~ msgstr "未找到匹配 '$*' 的软件包!" -#: rhino-pkg:292 -msgid "Select which package to remove" -msgstr "选择要移除的软件包" +#~ msgid "Found packages matching '${BPurple}$*${NC}':" +#~ msgstr "找到匹配 '${BPurple}$*${NC}' 的软件包:" -#: rhino-pkg:298 -msgid "'${entered_input[*]}' is not a valid number" -msgstr "'${entered_input[*]}' 不是一个有效数字" +#~ msgid "'${entered_input[*]}' is not a valid number" +#~ msgstr "'${entered_input[*]}' 不是一个有效数字" -#: rhino-pkg:303 -msgid "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager '${BPurple}${pkgrepo[i]}${NC}'" -msgstr "从软件包管理器 '${BPurple}${pkgrepo[i]}${NC}' 中选择 " -"'${BPurple}${pkgs[i]}${NC}'" +#~ msgid "" +#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " +#~ "'${BPurple}${pkgrepo[i]}${NC}'" +#~ msgstr "" +#~ "从软件包管理器 '${BPurple}${pkgrepo[i]}${NC}' 中选择 " +#~ "'${BPurple}${pkgs[i]}${NC}'" -#: rhino-pkg:306 -msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -msgstr "是否确定? (${BGreen}y${NC}/${BRed}N${NC}) " +#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " +#~ msgstr "是否确定? (${BGreen}y${NC}/${BRed}N${NC}) " -#: rhino-pkg:341 -msgid "Invalid repository name!" -msgstr "无效仓库名称!" +#~ msgid "Invalid repository name!" +#~ msgstr "无效仓库名称!" From 0cc3ce67c5ca5bab8bdd0f2cf7760aed7508d0ac Mon Sep 17 00:00:00 2001 From: Henry Wenger-Stickel Date: Wed, 1 Jan 2025 14:39:49 -0600 Subject: [PATCH 39/44] Remove unused strings --- po/ar.po | 27 --------------------------- po/bn.po | 22 ---------------------- po/de.po | 29 ----------------------------- po/enm.po | 22 ---------------------- po/es.po | 25 ------------------------- po/fr.po | 22 ---------------------- po/hi.po | 22 ---------------------- po/id.po | 22 ---------------------- po/ie.po | 28 ---------------------------- po/it.po | 22 ---------------------- po/ka.po | 28 ---------------------------- po/ko.po | 22 ---------------------- po/nl.po | 29 ----------------------------- po/pt_BR.po | 29 ----------------------------- po/ro.po | 24 ------------------------ po/ru.po | 27 --------------------------- po/sv.po | 22 ---------------------- po/uk.po | 29 ----------------------------- po/ur.po | 19 ------------------- po/zh_CN.po | 27 --------------------------- 20 files changed, 497 deletions(-) diff --git a/po/ar.po b/po/ar.po index 522f9b7..330e7ad 100644 --- a/po/ar.po +++ b/po/ar.po @@ -97,30 +97,3 @@ msgstr "جار البحث عن snap…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "" -#~ "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" -#~ "N${NC}) " -#~ msgstr "هل أنت متأكد من تحديث كل الحزم؟ (${BGreen}y${NC}/${BRed}N${NC}). " - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "لا يوجد حزمة مطابقة '$*'!" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "حزم متوفرة مطابقة '${BPurple}$*${NC}':" - -#~ msgid "'${entered_input[*]}' is not a valid number" -#~ msgstr "'${entered_input[*]}' رقم غير مطابق" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "إختيار '${BPurple}${pkgs[i]}${NC}' من مدير الحزم " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" - -#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -#~ msgstr "هل أنت متأكد ؟ (${BGreen}y${NC}/${BRed}N${NC}). " - -#~ msgid "Invalid repository name!" -#~ msgstr "اسم المستودع خاطئ !" diff --git a/po/bn.po b/po/bn.po index eacdb28..ce70613 100644 --- a/po/bn.po +++ b/po/bn.po @@ -96,25 +96,3 @@ msgstr "snap-এ খোঁজ করা হচ্ছে…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "No input given!" -#~ msgstr "কোনো ইনপুট দেওয়া হয়নি!" - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "'$*' এর সাথে মিলিত কোনো প্যাকেজ পাওয়া যায়নি!" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "'${BPurple}$*${NC}' এর সাথে মিলিত প্যাকেজগুলি পাওয়া গেছে:" - -#~ msgid "'$entered_input' is not a valid number" -#~ msgstr "'$entered_input' একটি বৈধ সংখ্যা নয়" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "প্যাকেজ ম্যানেজার '${BPurple}${pkgs[i]}${NC}' থেকে " -#~ "'${BPurple}${pkgrepo[i]}${NC}' নির্বাচন করা হচ্ছে" - -#~ msgid "Invalid repository name!" -#~ msgstr "অবৈধ সংগ্রহস্থলের নাম!" diff --git a/po/de.po b/po/de.po index 426a1ce..9204604 100644 --- a/po/de.po +++ b/po/de.po @@ -97,32 +97,3 @@ msgstr "Suche in Snap…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "" -#~ "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" -#~ "N${NC}) " -#~ msgstr "" -#~ "Sind Sie sicher, dass sie alle Pakete aktualisieren möchten? (${BGreen}" -#~ "y${NC}/${BRed}N${NC}) " - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "Keine passenden Pakete zu '$*' gefunden!" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "Pakete passend zu '${BPurple}$*${NC}' gefunden:" - -#~ msgid "'${entered_input[*]}' is not a valid number" -#~ msgstr "'${entered_input[*]}' ist keine gültige Zahl" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "'${BPurple}${pkgs[i]}${NC}' von Paketmanager " -#~ "'${BPurple}${pkgrepo[i]}${NC}' wird gewählt" - -#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -#~ msgstr "Sind Sie sich sicher? (${BGreen}y${NC}/${BRed}N${NC}) " - -#~ msgid "Invalid repository name!" -#~ msgstr "Ungültiger Repository Name!" diff --git a/po/enm.po b/po/enm.po index 1e79ccf..e9a5252 100644 --- a/po/enm.po +++ b/po/enm.po @@ -96,25 +96,3 @@ msgstr "Doth searching snap…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "No input given!" -#~ msgstr "Input hath not been given!" - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "No packages found matching doth name '$*'!" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "Found packages doth matching '${BPurple}$*${NC}':" - -#~ msgid "'$entered_input' is not a valid number" -#~ msgstr "'$entered_input' is not a proper number" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from thine package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" - -#~ msgid "Invalid repository name!" -#~ msgstr "Thou hast supplied an improper repository name!" diff --git a/po/es.po b/po/es.po index 50ae5da..31cf769 100644 --- a/po/es.po +++ b/po/es.po @@ -97,28 +97,3 @@ msgstr "Buscando snap…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "No input given!" -#~ msgstr "¡Ninguna entrada dada!" - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "¡Fueron encontrados paquetes que coinciden con '$*'!" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "Paquetes encontrados que coinciden con '${BPurple}$*${NC}':" - -#~ msgid "'$entered_input' is not a valid number" -#~ msgstr "'$entered_input' no es un número válido" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "Seleccionando '${BPurple}${pkgs[i]}${NC}' del gestor de paquetes " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" - -#~ msgid "Invalid repository name!" -#~ msgstr "¡Nombre de repositorio inválido!" - -#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -#~ msgstr "¿Estás seguro? (${BGreen}y${NC}/${BRed}N${NC}) " diff --git a/po/fr.po b/po/fr.po index a10374a..5cd9524 100644 --- a/po/fr.po +++ b/po/fr.po @@ -97,25 +97,3 @@ msgstr "Recherche de snap…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "No input given!" -#~ msgstr "Aucune entrée n'a été donnée !" - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "Aucun paquet trouvé correspondant à '$*' !" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "Paquets trouvés correspondant à '${BPurple}$*${NC}':" - -#~ msgid "'$entered_input' is not a valid number" -#~ msgstr "'$entered_input' n'est pas un nombre valide" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "Sélection de '${BPurple}${pkgs[i]}${NC}' dans le gestionnaire de paquets " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" - -#~ msgid "Invalid repository name!" -#~ msgstr "Nom de dépôt non valide !" diff --git a/po/hi.po b/po/hi.po index 2e12d98..58b9343 100644 --- a/po/hi.po +++ b/po/hi.po @@ -96,25 +96,3 @@ msgstr "स्नैप में खोजा जा रहा है…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "No input given!" -#~ msgstr "कोई इनपुट नहीं दिया!" - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "'$*' से मेल खाता कोई पैकेज नहीं मिला!" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "'${Bpurple}$*${NC}' से मेल खाने वाले पैकेज मिले:" - -#~ msgid "'$entered_input' is not a valid number" -#~ msgstr "'$entered_input' वैध संख्या नहीं है" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "पैकेज मैनेजर '${Bpurple}${pkgs[i]}${NC}' से '${Bpurple}${pkgrepo[i]}${NC}' चुने " -#~ "गए हैं" - -#~ msgid "Invalid repository name!" -#~ msgstr "अवैध भंडार का नाम!" diff --git a/po/id.po b/po/id.po index d3c66a6..85dc2db 100644 --- a/po/id.po +++ b/po/id.po @@ -94,25 +94,3 @@ msgstr "Mencari snap…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "No input given!" -#~ msgstr "Tidak ada masukan!" - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "Tidak menemukan paket yang cocok '$*'!" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "Menemukan paket yang sesuai '${BPurple}$*${NC}':" - -#~ msgid "'$entered_input' is not a valid number" -#~ msgstr "'$entered_input' bukan angka yang sah" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "Memilih'${BPurple}${pkgs[i]}${NC}' dari manajemen paket " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" - -#~ msgid "Invalid repository name!" -#~ msgstr "Nama repositori yang tidak sah!" diff --git a/po/ie.po b/po/ie.po index 85b1598..a3dd753 100644 --- a/po/ie.po +++ b/po/ie.po @@ -96,31 +96,3 @@ msgstr "Serchante snap…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "" -#~ "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" -#~ "N${NC}) " -#~ msgstr "" -#~ "Esque vu vole actualisar omni paccages? (${BGreen}y${NC}/${BRed}N${NC}) " - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "Null paccages trovat quel corresponde a '$*'!" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "Trovat paccages correspondente a '${BPurple}$*${NC}':" - -#~ msgid "'${entered_input[*]}' is not a valid number" -#~ msgstr "'${entered_input[*]}' ne es un valid númere" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "Selecte '${BPurple}${pkgs[i]}${NC}' del gerente de paccages " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" - -#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -#~ msgstr "Esque vu es cert? (${BGreen}y${NC}/${BRed}N${NC}) " - -#~ msgid "Invalid repository name!" -#~ msgstr "Ínvalid nómine de un repositoria!" diff --git a/po/it.po b/po/it.po index d1399e3..af3f110 100644 --- a/po/it.po +++ b/po/it.po @@ -96,25 +96,3 @@ msgstr "Cerco su snap…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "No input given!" -#~ msgstr "Nessun input fornito!" - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "Nessun pacchetto corrisponde a '$*'!" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "Trovati pacchetti corrispondenti a '${BPurple}$*${NC}':" - -#~ msgid "'$entered_input' is not a valid number" -#~ msgstr "'$entered_input' non è un numero valido" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "Seleziono '${BPurple}${pkgs[i]}${NC}' dal gestore di pacchetti " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" - -#~ msgid "Invalid repository name!" -#~ msgstr "Nome repository errato!" diff --git a/po/ka.po b/po/ka.po index 85be6e0..e745587 100644 --- a/po/ka.po +++ b/po/ka.po @@ -96,31 +96,3 @@ msgstr "ძებნა snap-ში…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "" -#~ "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" -#~ "N${NC}) " -#~ msgstr "" -#~ "მართლა გნებავთ ყველა პაკეტის განახლება? (${BGreen}y${NC}/${BRed}N${NC}) " - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "ვერ ვიპოვე პაკეტი, რომელიც ემთხვევა სტრიქონს '$*'!" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "ნაპოვნი პაკეტები, რომლებიც ემთხვევა სტრიქონს '${BPurple}$*${NC}':" - -#~ msgid "'${entered_input[*]}' is not a valid number" -#~ msgstr "'${entered_input[*]}' სწორი რიცხვი არაა" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "ავირჩიე '${BPurple}${pkgs[i]}${NC}' პაკეტების მმართველიდან " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" - -#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -#~ msgstr "დარწმუნებულ ბრძანდებით? (${BGreen}y${NC}/${BRed}N${NC}) " - -#~ msgid "Invalid repository name!" -#~ msgstr "არასწორი რეპოზიტორიის სახელი!" diff --git a/po/ko.po b/po/ko.po index 0fe6102..a1e4137 100644 --- a/po/ko.po +++ b/po/ko.po @@ -97,25 +97,3 @@ msgstr "Snap 검색 중…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "No input given!" -#~ msgstr "주어진 입력 값이 없습니다!" - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "'$*'와 일치하는 패키지를 찾을 수 없습니다!" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "'${BPurple}$*${NC}'와 일치하는 패키지를 찾았습니다:" - -#~ msgid "'$entered_input' is not a valid number" -#~ msgstr "'$entered_input'은 유효한 번호가 아닙니다" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "패키지 관리자 '${BPurple}${pkgrepo[i]}${NC}'에서 Selecting " -#~ "'${BPurple}${pkgs[i]}${NC}'를 선택했습니다" - -#~ msgid "Invalid repository name!" -#~ msgstr "저장소 이름이 잘못되었습니다!" diff --git a/po/nl.po b/po/nl.po index b8ae288..873aad2 100644 --- a/po/nl.po +++ b/po/nl.po @@ -96,32 +96,3 @@ msgstr "Bezig met doorzoeken van Snap…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "" -#~ "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" -#~ "N${NC}) " -#~ msgstr "" -#~ "Weet u zeker dat u alle pakketten wilt bijwerken? (${BGreen}y${NC}/${BRed}" -#~ "N${NC}) " - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "Er zijn geen pakketten gevonden die overeenkomen met '$*'!" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "Pakketten die overeenkomen met '${BPurple}$*${NC}':" - -#~ msgid "'${entered_input[*]}' is not a valid number" -#~ msgstr "'${entered_input[*]}' is geen geldig getal" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "Keuzes: '${BPurple}${pkgs[i]}${NC}' met behulp van pakketbeheerder " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" - -#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -#~ msgstr "Weet u het zeker? (${BGreen}y${NC}/${BRed}N${NC}) " - -#~ msgid "Invalid repository name!" -#~ msgstr "De pakketbronnaam is ongeldig!" diff --git a/po/pt_BR.po b/po/pt_BR.po index 17ef78c..61bd5b1 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -96,32 +96,3 @@ msgstr "Procurando snap…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "" -#~ "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" -#~ "N${NC}) " -#~ msgstr "" -#~ "Tem certeza de que deseja atualizar todos os pacotes? (${BGreen}y${NC}/" -#~ "${BRed}N${NC}) " - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "Nenhum pacote encontrado correspondente a '$*'!" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "Pacotes encontrados correspondentes a '${BPurple}$*${NC}':" - -#~ msgid "'${entered_input[*]}' is not a valid number" -#~ msgstr "'${entered_input[*]}' não é um número válido" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "Selecionando '${BPurple}${pkgs[i]}${NC}' do gerenciador de pacotes " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" - -#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -#~ msgstr "Tem certeza? (${BGreen}y${NC}/${BRed}N${NC}) " - -#~ msgid "Invalid repository name!" -#~ msgstr "Nome de repositório inválido!" diff --git a/po/ro.po b/po/ro.po index 9eccb4c..a69811c 100644 --- a/po/ro.po +++ b/po/ro.po @@ -98,27 +98,3 @@ msgstr "Căutare în snap…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "No input given!" -#~ msgstr "Nu am primit termeni de căutare!" - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "Nu au fost găsite aplicații care să se potrivească cu '$*'!" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "" -#~ "Următoarele aplicații care se potrivesc cu '${BPurple}$*${NC}' au fost " -#~ "găsite:" - -#~ msgid "'$entered_input' is not a valid number" -#~ msgstr "'$entered_input' nu este un număr valid" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "Ai selectat '${BPurple}${pkgs[i]}${NC}' din registrul de aplicații " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" - -#~ msgid "Invalid repository name!" -#~ msgstr "Acest registru de aplicații nu există!" diff --git a/po/ru.po b/po/ru.po index c5f6246..8648932 100644 --- a/po/ru.po +++ b/po/ru.po @@ -97,30 +97,3 @@ msgstr "Поиск в snap…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "" -#~ "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" -#~ "N${NC}) " -#~ msgstr "Обновить все пакеты? (${BGreen}y${NC} да/${BRed}N${NC} нет) " - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "Не найдены пакеты по шаблону '$*'!" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "Пакеты по шаблону '${BPurple}$*${NC}':" - -#~ msgid "'${entered_input[*]}' is not a valid number" -#~ msgstr "'${entered_input[*]}' не является числом" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "Выбран '${BPurple}${pkgs[i]}${NC}' из менеджера пакетов " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" - -#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -#~ msgstr "Вы уверены? (${BGreen}y${NC} да/${BRed}N${NC} нет) " - -#~ msgid "Invalid repository name!" -#~ msgstr "Неверное имя репозитория!" diff --git a/po/sv.po b/po/sv.po index 25889ae..0628872 100644 --- a/po/sv.po +++ b/po/sv.po @@ -96,25 +96,3 @@ msgstr "Söker i snap…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "No input given!" -#~ msgstr "Ingen input given!" - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "Inga paket hittas som liknar '$*'!" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "Hittade paket som liknar '${BPurple}$*${NC}':" - -#~ msgid "'$entered_input' is not a valid number" -#~ msgstr "'$entered_input' är inte ett giltigt nummer" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "Väljer '${BPurple}${pkgs[i]}${NC}' från pakethanterare " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" - -#~ msgid "Invalid repository name!" -#~ msgstr "Ogiltigt arkivnamn!" diff --git a/po/uk.po b/po/uk.po index 51becc9..0f0a72c 100644 --- a/po/uk.po +++ b/po/uk.po @@ -97,32 +97,3 @@ msgstr "Пошук snap…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "" -#~ "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" -#~ "N${NC}) " -#~ msgstr "" -#~ "Ви впевнені, що хочете оновити всі пакунки? (${BGreen}y${NC}/${BRed}" -#~ "N${NC}) " - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "Не знайдено пакунків, що відповідають '$*'!" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "Знайдено пакунки, які відповідають '${BPurple}$*${NC}':" - -#~ msgid "'${entered_input[*]}' is not a valid number" -#~ msgstr "'${entered_input[*]}' неприпустиме число" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "Вибір '${BPurple}${pkgs[i]}${NC}' з менеджера пакунків " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" - -#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -#~ msgstr "Ви впевнені? (${BGreen}y${NC}/${BRed}N${NC}) " - -#~ msgid "Invalid repository name!" -#~ msgstr "Неправильна назва сховища!" diff --git a/po/ur.po b/po/ur.po index 0406f8a..4eab366 100644 --- a/po/ur.po +++ b/po/ur.po @@ -96,22 +96,3 @@ msgstr "snap میں تلاش کر رہا ہے…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "No input given!" -#~ msgstr "کوئی ان پٹ نہیں دیا گیا!" - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "'$*' سے مماثل کوئی پیکیج نہیں ملا!" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "'${Bpurple}$*${NC}' سے مماثل پیکیجز ملے:" - -#~ msgid "'$entered_input' is not a valid number" -#~ msgstr "'$entered_input' درست تعداد نہیں ہے" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "پیکیج مینیجر سے '${BPurple}${pkgs[i]}${NC}' کو منتخب کیا گیا " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" diff --git a/po/zh_CN.po b/po/zh_CN.po index 2486ebc..5997bfa 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -97,30 +97,3 @@ msgstr "正在检索snap…" #, python-brace-format msgid "[{idx}]: {pkg} ({provider})" msgstr "" - -#~ msgid "" -#~ "Are you sure you want to update all packages? (${BGreen}y${NC}/${BRed}" -#~ "N${NC}) " -#~ msgstr "确定更新全部软件包? (${BGreen}y${NC}/${BRed}N${NC}) " - -#~ msgid "No packages found matching '$*'!" -#~ msgstr "未找到匹配 '$*' 的软件包!" - -#~ msgid "Found packages matching '${BPurple}$*${NC}':" -#~ msgstr "找到匹配 '${BPurple}$*${NC}' 的软件包:" - -#~ msgid "'${entered_input[*]}' is not a valid number" -#~ msgstr "'${entered_input[*]}' 不是一个有效数字" - -#~ msgid "" -#~ "Selecting '${BPurple}${pkgs[i]}${NC}' from package manager " -#~ "'${BPurple}${pkgrepo[i]}${NC}'" -#~ msgstr "" -#~ "从软件包管理器 '${BPurple}${pkgrepo[i]}${NC}' 中选择 " -#~ "'${BPurple}${pkgs[i]}${NC}'" - -#~ msgid "Are you sure? (${BGreen}y${NC}/${BRed}N${NC}) " -#~ msgstr "是否确定? (${BGreen}y${NC}/${BRed}N${NC}) " - -#~ msgid "Invalid repository name!" -#~ msgstr "无效仓库名称!" From e8db8be36719526033a133fd19b7c4a62a93150d Mon Sep 17 00:00:00 2001 From: Henry Wenger-Stickel Date: Wed, 1 Jan 2025 14:59:05 -0600 Subject: [PATCH 40/44] Easier instructions --- DEVELOPING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEVELOPING.md b/DEVELOPING.md index 90becff..fd7956f 100644 --- a/DEVELOPING.md +++ b/DEVELOPING.md @@ -1,4 +1,4 @@ # Developing ## i18n -Run `(printf '%s\n' "${heading[@]}" && xnutext rhino-pkg **/*.nu) | msguniq > po/rhino-pkg.pot` after adding new translatable text. +Run `xnutext rhino-pkg **/*.nu -o po/rhino-pkg.pot` after adding new translatable text. From 668a9ae4c54df7a57446d750025f5ee5704384d7 Mon Sep 17 00:00:00 2001 From: Henry Wenger-Stickel Date: Fri, 3 Jan 2025 08:55:48 -0600 Subject: [PATCH 41/44] This doesnt need to be translated --- modules/lib/search.nu | 2 +- po/ar.po | 5 ----- po/bn.po | 5 ----- po/de.po | 5 ----- po/enm.po | 5 ----- po/es.po | 5 ----- po/fr.po | 5 ----- po/hi.po | 5 ----- po/id.po | 5 ----- po/ie.po | 5 ----- po/it.po | 5 ----- po/ka.po | 5 ----- po/ko.po | 5 ----- po/nl.po | 5 ----- po/pt_BR.po | 5 ----- po/rhino-pkg.pot | 6 ------ po/ro.po | 5 ----- po/ru.po | 5 ----- po/sv.po | 5 ----- po/uk.po | 5 ----- po/ur.po | 5 ----- po/zh_CN.po | 5 ----- 22 files changed, 1 insertion(+), 107 deletions(-) diff --git a/modules/lib/search.nu b/modules/lib/search.nu index 2bd09c7..38f64e7 100644 --- a/modules/lib/search.nu +++ b/modules/lib/search.nu @@ -21,7 +21,7 @@ export def search-pkgs [ mut idx = 0 for bla in $total { let le_color = (print-color $bla.provider) - tprint "[{idx}]: {pkg} ({provider})" { idx: $"($le_color)($idx)(ansi reset)", pkg: $bla.pkg, provider: $"($le_color)($bla.provider)(ansi reset)" } + print $"[($le_color)($idx)(ansi reset)]: ($bla.pkg) \(($le_color)($bla.provider)(ansi reset)\)" $idx += 1 } # Just because someone else might need the table. diff --git a/po/ar.po b/po/ar.po index 330e7ad..d03079f 100644 --- a/po/ar.po +++ b/po/ar.po @@ -92,8 +92,3 @@ msgstr "جار البحث عن apt…" #, python-brace-format msgid "Searching snap…" msgstr "جار البحث عن snap…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/bn.po b/po/bn.po index ce70613..006734d 100644 --- a/po/bn.po +++ b/po/bn.po @@ -91,8 +91,3 @@ msgstr "apt-এ খোঁজ করা হচ্ছে…" #, python-brace-format msgid "Searching snap…" msgstr "snap-এ খোঁজ করা হচ্ছে…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/de.po b/po/de.po index 9204604..b934d6f 100644 --- a/po/de.po +++ b/po/de.po @@ -92,8 +92,3 @@ msgstr "Suche in APT…" #, python-brace-format msgid "Searching snap…" msgstr "Suche in Snap…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/enm.po b/po/enm.po index e9a5252..9374e61 100644 --- a/po/enm.po +++ b/po/enm.po @@ -91,8 +91,3 @@ msgstr "Doth searching apt…" #, python-brace-format msgid "Searching snap…" msgstr "Doth searching snap…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/es.po b/po/es.po index 31cf769..7872c5a 100644 --- a/po/es.po +++ b/po/es.po @@ -92,8 +92,3 @@ msgstr "Buscando apt…" #, python-brace-format msgid "Searching snap…" msgstr "Buscando snap…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/fr.po b/po/fr.po index 5cd9524..599cfae 100644 --- a/po/fr.po +++ b/po/fr.po @@ -92,8 +92,3 @@ msgstr "Recherche de l'apt…" #, python-brace-format msgid "Searching snap…" msgstr "Recherche de snap…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/hi.po b/po/hi.po index 58b9343..9803e62 100644 --- a/po/hi.po +++ b/po/hi.po @@ -91,8 +91,3 @@ msgstr "APT में खोजा जा रहा है…" #, python-brace-format msgid "Searching snap…" msgstr "स्नैप में खोजा जा रहा है…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/id.po b/po/id.po index 85dc2db..5dcd1dc 100644 --- a/po/id.po +++ b/po/id.po @@ -89,8 +89,3 @@ msgstr "Mencari apt…" #, python-brace-format msgid "Searching snap…" msgstr "Mencari snap…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/ie.po b/po/ie.po index a3dd753..b7759ac 100644 --- a/po/ie.po +++ b/po/ie.po @@ -91,8 +91,3 @@ msgstr "Serchante apt…" #, python-brace-format msgid "Searching snap…" msgstr "Serchante snap…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/it.po b/po/it.po index af3f110..6ac090a 100644 --- a/po/it.po +++ b/po/it.po @@ -91,8 +91,3 @@ msgstr "Cerco su apt…" #, python-brace-format msgid "Searching snap…" msgstr "Cerco su snap…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/ka.po b/po/ka.po index e745587..e1f6f58 100644 --- a/po/ka.po +++ b/po/ka.po @@ -91,8 +91,3 @@ msgstr "ძებნა apt-ში…" #, python-brace-format msgid "Searching snap…" msgstr "ძებნა snap-ში…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/ko.po b/po/ko.po index a1e4137..9ed9763 100644 --- a/po/ko.po +++ b/po/ko.po @@ -92,8 +92,3 @@ msgstr "APT 검색 중…" #, python-brace-format msgid "Searching snap…" msgstr "Snap 검색 중…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/nl.po b/po/nl.po index 873aad2..e788eb9 100644 --- a/po/nl.po +++ b/po/nl.po @@ -91,8 +91,3 @@ msgstr "Bezig met doorzoeken van apt…" #, python-brace-format msgid "Searching snap…" msgstr "Bezig met doorzoeken van Snap…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/pt_BR.po b/po/pt_BR.po index 61bd5b1..7588bfd 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -91,8 +91,3 @@ msgstr "Procurando apt…" #, python-brace-format msgid "Searching snap…" msgstr "Procurando snap…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/rhino-pkg.pot b/po/rhino-pkg.pot index ea06e7a..7e3b777 100644 --- a/po/rhino-pkg.pot +++ b/po/rhino-pkg.pot @@ -1,4 +1,3 @@ -#, fuzzy msgid "" msgstr "" "MIME-Version: 1.0\n" @@ -83,8 +82,3 @@ msgstr "" #, python-brace-format msgid "Searching snap…" msgstr "" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/ro.po b/po/ro.po index a69811c..ed45868 100644 --- a/po/ro.po +++ b/po/ro.po @@ -93,8 +93,3 @@ msgstr "Căutare în apt…" #, python-brace-format msgid "Searching snap…" msgstr "Căutare în snap…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/ru.po b/po/ru.po index 8648932..8593813 100644 --- a/po/ru.po +++ b/po/ru.po @@ -92,8 +92,3 @@ msgstr "Поиск в apt…" #, python-brace-format msgid "Searching snap…" msgstr "Поиск в snap…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/sv.po b/po/sv.po index 0628872..f12e2c5 100644 --- a/po/sv.po +++ b/po/sv.po @@ -91,8 +91,3 @@ msgstr "Söker i apt…" #, python-brace-format msgid "Searching snap…" msgstr "Söker i snap…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/uk.po b/po/uk.po index 0f0a72c..f76a8ee 100644 --- a/po/uk.po +++ b/po/uk.po @@ -92,8 +92,3 @@ msgstr "Пошук apt…" #, python-brace-format msgid "Searching snap…" msgstr "Пошук snap…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/ur.po b/po/ur.po index 4eab366..e6f7e0f 100644 --- a/po/ur.po +++ b/po/ur.po @@ -91,8 +91,3 @@ msgstr "apt میں تلاش کر رہا ہے…" #, python-brace-format msgid "Searching snap…" msgstr "snap میں تلاش کر رہا ہے…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" diff --git a/po/zh_CN.po b/po/zh_CN.po index 5997bfa..f68075a 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -92,8 +92,3 @@ msgstr "正在检索apt…" #, python-brace-format msgid "Searching snap…" msgstr "正在检索snap…" - -#: search.nu:24 -#, python-brace-format -msgid "[{idx}]: {pkg} ({provider})" -msgstr "" From 428422ab3b3671ce2d76e4147184c296ece15ffd Mon Sep 17 00:00:00 2001 From: Elsie Date: Sun, 5 Jan 2025 13:52:38 -0500 Subject: [PATCH 42/44] Fix plugins in scripts --- rhino-pkg | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/rhino-pkg b/rhino-pkg index e070e2e..a90d6c5 100755 --- a/rhino-pkg +++ b/rhino-pkg @@ -1,7 +1,4 @@ -#!/usr/bin/env nu - -plugin add "/usr/share/nutext/nu_plugin_nutext" -plugin use nutext +#!/usr/bin/env -S nu --plugins '[/usr/share/nutext/nu_plugin_nutext]' use "/usr/share/rhino-pkg/modules/lib/" [search] use "/usr/share/rhino-pkg/modules/lib/cmd.nu" [prompt, install-pkg, cleanup-pkg, remove-pkg] From 90edb60964bc66bc85928932336d0b0c54b2d30b Mon Sep 17 00:00:00 2001 From: Elsie Date: Wed, 8 Jan 2025 23:11:07 -0500 Subject: [PATCH 43/44] Return empty table on empty input --- modules/lib/cmd.nu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/lib/cmd.nu b/modules/lib/cmd.nu index c854a58..3f3bd43 100644 --- a/modules/lib/cmd.nu +++ b/modules/lib/cmd.nu @@ -16,7 +16,7 @@ export def print-color [type: string] { export def prompt [ask: string, pkgs: list] : nothing -> table { let input = (input $"($ask) [0-(($pkgs | length) - 1)]: ") if ($input | is-empty) { - [($pkgs | enumerate).0.item] + [] } else { let parsed = ($input | split row ' ' From e9993a7994025bf2afea0dbc23bddb6049c58671 Mon Sep 17 00:00:00 2001 From: Elsie Date: Thu, 9 Jan 2025 12:03:54 -0500 Subject: [PATCH 44/44] Fix lord Oren's complaints --- modules/lib/cmd.nu | 4 ++-- modules/pluggables/apt.nu | 3 ++- po/rhino-pkg.pot | 25 +++++++++++++++---------- 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/modules/lib/cmd.nu b/modules/lib/cmd.nu index 3f3bd43..523673d 100644 --- a/modules/lib/cmd.nu +++ b/modules/lib/cmd.nu @@ -110,7 +110,7 @@ export def cleanup-pkg [promptless: bool] { if $promptless { if (exists "apt") { ^sudo apt-get --fix-broken install - ^sudo apt-get apt-remove -y + ^sudo apt-get autoremove -y } if (exists "flatpak") { ^sudo flatpak repair @@ -119,7 +119,7 @@ export def cleanup-pkg [promptless: bool] { } else { if (exists "apt") { ^sudo apt-get --fix-broken install - ^sudo apt-get apt-remove + ^sudo apt-get autoremove } if (exists "flatpak") { ^sudo flatpak repair diff --git a/modules/pluggables/apt.nu b/modules/pluggables/apt.nu index 50c4a16..a1abb59 100644 --- a/modules/pluggables/apt.nu +++ b/modules/pluggables/apt.nu @@ -25,7 +25,8 @@ export def search [input: string, description: bool] : nothing -> table { | insert provider 'apt' } } else { - [] + error make -u { msg: (_ "`aptitude` not installed.") } + exit 1 } } diff --git a/po/rhino-pkg.pot b/po/rhino-pkg.pot index 7e3b777..ee2c60b 100644 --- a/po/rhino-pkg.pot +++ b/po/rhino-pkg.pot @@ -5,53 +5,53 @@ msgstr "" "Content-Transfer-Encoding: ENCODING\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -#: rhino-pkg:83 +#: rhino-pkg:80 #, python-brace-format msgid "" "Valid subcommands are 'install', 'remove', 'search', 'update', 'cleanup'." msgstr "" -#: rhino-pkg:84 +#: rhino-pkg:81 #, python-brace-format msgid "No valid subcommand passed" msgstr "" -#: rhino-pkg:84 +#: rhino-pkg:81 #, python-brace-format msgid "Failed here" msgstr "" -#: rhino-pkg:105 rhino-pkg:128 +#: rhino-pkg:102 rhino-pkg:125 #, python-brace-format msgid "No packages found matching '{rest}'" msgstr "" -#: rhino-pkg:108 +#: rhino-pkg:105 #, python-brace-format msgid "Select which package to install" msgstr "" -#: rhino-pkg:109 +#: rhino-pkg:106 #, python-brace-format msgid "Selecting '{pkg}' from package manager '{provider}'" msgstr "" -#: rhino-pkg:115 +#: rhino-pkg:112 #, python-brace-format msgid "Failed to install '{pkg}'." msgstr "" -#: rhino-pkg:131 +#: rhino-pkg:128 #, python-brace-format msgid "Select which package to remove" msgstr "" -#: rhino-pkg:133 +#: rhino-pkg:130 #, python-brace-format msgid "Removing '{part}' from '{provider}'" msgstr "" -#: rhino-pkg:142 +#: rhino-pkg:139 #, python-brace-format msgid "" "Attempting to repair dependencies and remove unused packages. Continue? ({y}/" @@ -82,3 +82,8 @@ msgstr "" #, python-brace-format msgid "Searching snap…" msgstr "" + +#: apt.nu:28 +#, python-brace-format +msgid "`aptitude` not installed." +msgstr "" \ No newline at end of file