diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..f12f6e3a --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +Makefile +vendor/ +.flatpak-builder +flatpak/_build diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..db8394f6 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "flatpak/shared-modules"] + path = flatpak/shared-modules + url = https://github.com/flathub/shared-modules +[submodule "flatpak/flatpak-builder-tools"] + path = flatpak/flatpak-builder-tools + url = https://github.com/flatpak/flatpak-builder-tools diff --git a/Gemfile b/Gemfile new file mode 100644 index 00000000..825a506a --- /dev/null +++ b/Gemfile @@ -0,0 +1,4 @@ +source 'https://rubygems.org' +gem 'gettext' +gem 'gtk2' +gem 'rexml' diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 00000000..5f76c9a1 --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,46 @@ +GEM + remote: https://rubygems.org/ + specs: + atk (3.3.2) + glib2 (= 3.3.2) + cairo (1.16.2) + native-package-installer (>= 1.0.3) + pkg-config (>= 1.2.2) + cairo-gobject (3.3.2) + cairo (>= 1.16.2) + glib2 (= 3.3.2) + gdk_pixbuf2 (3.3.2) + gio2 (= 3.3.2) + gettext (3.2.9) + locale (>= 2.0.5) + text (>= 1.3.0) + gio2 (3.3.2) + gobject-introspection (= 3.3.2) + glib2 (3.3.2) + native-package-installer (>= 1.0.3) + pkg-config (>= 1.2.2) + gobject-introspection (3.3.2) + glib2 (= 3.3.2) + gtk2 (3.3.2) + atk (= 3.3.2) + gdk_pixbuf2 (= 3.3.2) + pango (= 3.3.2) + locale (2.1.2) + native-package-installer (1.0.6) + pango (3.3.2) + cairo-gobject (= 3.3.2) + gobject-introspection (= 3.3.2) + pkg-config (1.3.4) + rexml (3.2.0) + text (1.3.1) + +PLATFORMS + ruby + +DEPENDENCIES + gettext + gtk2 + rexml + +BUNDLED WITH + 2.0.1 diff --git a/configure b/configure index 1282a557..13ccf731 100755 --- a/configure +++ b/configure @@ -38,6 +38,7 @@ $BINDIR='/bin' $LOCALE='/share/locale' $ICONDIR='/share/icons/hicolor/128x128/apps' $DESKTOP='/share/applications' +$APPDATA='/share/appdata' $RUBYDIR= '/lib/rubyripper' if RUBY_PLATFORM.include?('darwin') @@ -157,6 +158,7 @@ makefile.puts "BINDIR=#{$PREFIX}#{$BINDIR}" makefile.puts "LOCALE=#{$PREFIX}#{$LOCALE}" makefile.puts "ICONDIR=#{$PREFIX}#{$ICONDIR}" makefile.puts "DESKTOP=#{$PREFIX}#{$DESKTOP}" +makefile.puts "APPDATA=#{$PREFIX}#{$APPDATA}" makefile.puts "RUBYDIR=#{$PREFIX}#{$RUBYDIR}" makefile.puts "" makefile.puts "all:" @@ -171,6 +173,7 @@ if $GTK2 makefile.puts "\t#{$INSTALL} -m 755 bin/rubyripper_gtk2 $(prefix)$(DESTDIR)$(BINDIR)/rrip_gui" makefile.puts "\t#{$INSTALL} -m 644 #{$ICONDIR[1..-1]}/rubyripper.png $(prefix)$(DESTDIR)$(ICONDIR)/rubyripper.png" makefile.puts "\t#{$INSTALL} -m 644 #{$DESKTOP[1..-1]}/rubyripper.desktop $(prefix)$(DESTDIR)$(DESKTOP)/rubyripper.desktop" + makefile.puts "\t#{$INSTALL} -m 644 #{$APPDATA[1..-1]}/rubyripper.appdata.xml $(prefix)$(DESTDIR)$(DESKTOP)/rubyripper.appdata.xml" end if $CLI @@ -199,6 +202,14 @@ end $LANG.each do |lang| makefile.puts "\trm -f $(prefix)$(DESTDIR)$(LOCALE)/#{lang}/LC_MESSAGES/rubyripper.mo" end +makefile.puts "" +makefile.puts "flatpak-update-gems:" +makefile.puts "\truby flatpak/flatpak-builder-tools/rubygems/flatpak_rubygems_generator.rb -s rubygems-gemfile.json -o flatpak/rubygems.json" + +makefile.puts "" +makefile.puts "flatpak-build:" +makefile.puts "\tcd flatpak; flatpak-builder --force-clean _build io.github.RubyRipper.yaml" + makefile.puts "" makefile.puts "clean:" makefile.puts "\trm -rf locale/" @@ -218,6 +229,7 @@ puts "* Executables: #{$PREFIX}#{$BINDIR}" puts "* Localization files: #{$PREFIX}#{$LOCALE}" puts "* Icon file: #{$PREFIX}#{$ICONDIR}" puts "* Desktop file: #{$PREFIX}#{$DESKTOP}" +puts "* Appdata file: #{$PREFIX}#{$APPDATA}" puts "* Library files: #{$PREFIX}#{$RUBYDIR}" puts "" diff --git a/flatpak/flatpak-builder-tools b/flatpak/flatpak-builder-tools new file mode 160000 index 00000000..b59fa8b3 --- /dev/null +++ b/flatpak/flatpak-builder-tools @@ -0,0 +1 @@ +Subproject commit b59fa8b31640f18e84086a6164afe63962e76fd2 diff --git a/flatpak/io.github.Rubyripper.yaml b/flatpak/io.github.Rubyripper.yaml new file mode 100644 index 00000000..900e3849 --- /dev/null +++ b/flatpak/io.github.Rubyripper.yaml @@ -0,0 +1,121 @@ +app-id: io.github.Rubyripper +runtime: org.freedesktop.Platform +runtime-version: '18.08' +sdk: org.freedesktop.Sdk +command: rrip_gui +rename-desktop-file: rubyripper.desktop +rename-icon: rubyripper +finish-args: + - '--share=network' + - '--socket=x11' + - '--device=all' + - '--filesystem=home' +modules: + - shared-modules/gtk2/gtk2.json + + - name: cdparanoia + no-parallel-make: true + sources: + - type: archive + url: https://downloads.xiph.org/releases/cdparanoia/cdparanoia-III-10.2.src.tgz + sha256: 005db45ef4ee017f5c32ec124f913a0546e77014266c6a1c50df902a55fe64df + + - name: cdrdao + config-opts: + - '--without-mp3-support' + - '--without-ogg-support' + sources: + - type: archive + url: https://downloads.sourceforge.net/cdrdao/cdrdao-1.2.4.tar.bz2 + sha256: 358d9cb83370ceaecdc60564cbf14c2ea2636eac60a966e2461c011ba09853b4 + + - name: libcdio + config-opts: + - '--disable-static' + - '--disable-cpp-progs' + - '--disable-example-progs' + - '--without-cd-drive' + - '--without-cd-read' + - '--without-cdda-player' + - '--without-iso-info' + sources: + - type: archive + url: https://ftp.gnu.org/gnu/libcdio/libcdio-2.0.0.tar.gz + sha256: 1b481b5da009bea31db875805665974e2fc568e2b2afa516f4036733657cf958 + + - name: cd-discid + buildsystem: simple + build-commands: + - 'make install PREFIX=/app' + sources: + - type: archive + url: http://linukz.org/download/cd-discid-1.4.tar.gz + sha256: ffd68cd406309e764be6af4d5cbcc309e132c13f3597c6a4570a1f218edd2c63 + + - name: vorbis-tools + sources: + - type: archive + url: https://downloads.xiph.org/releases/vorbis/vorbis-tools-1.4.0.tar.gz + sha256: a389395baa43f8e5a796c99daf62397e435a7e73531c9f44d9084055a05d22bc + + - name: wavegain + buildsystem: simple + build-commands: + - 'gcc -DHAVE_CONFIG_H -o wavegain *.c -lm' + - 'install -m 755 wavegain /app/bin/wavegain' + sources: + - type: archive + url: http://www.rarewares.org/files/others/wavegain-1.3.1srcs.zip + sha256: 939bdcae73c59851f0a4aaf4e1ecee0815d293f105cc6372c95d4bbeb9346d3d + + - name: vorbisgain + config-opts: + - '--enable-recursive' + sources: + - type: archive + url: https://www.sjeng.org/ftp/vorbis/vorbisgain-0.36.zip + sha256: e893be4c71f83799771e1335768588fdfb0f935e1add4b6e8133a6c6b07da1e3 + + - name: mp3gain + buildsystem: simple + build-commands: + - 'make OSTYPE=linux INSTALL_PATH=/app/bin install' + sources: + - type: archive + url: https://downloads.sourceforge.net/mp3gain/mp3gain-1_6_2-src.zip + sha256: 5cc04732ef32850d5878b28fbd8b85798d979a025990654aceeaa379bcc9596d + + - name: normalize + sources: + - type: archive + url: https://savannah.nongnu.org/download/normalize/normalize-0.7.7.tar.gz + sha256: 6055a2abccc64296e1c38f9652f2056d3a3c096538e164b8b9526e10b486b3d8 + + - name: ruby + config-opts: + - '--disable-install-doc' + sources: + - type: archive + url: https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.1.tar.gz + sha256: 17024fb7bb203d9cf7a5a42c78ff6ce77140f9d083676044a7db67f1e5191cb8 + + - name: bundler + buildsystem: simple + build-commands: + - 'gem install --local bundler*.gem' + sources: + - type: file + url: https://rubygems.org/downloads/bundler-2.0.1.gem + sha256: c7e38039993c9c2edc27397aef4a3370a4b35c7fae3d93e434e501c4bd7656ea + + - rubygems.json + + - name: rubyripper + config-opts: + - '--enable-lang=all' + - '--enable-gtk2' + - '--enable-cli' + - '--prefix=/app' + sources: + - type: dir + path: .. diff --git a/flatpak/rubygems-gemfile.json b/flatpak/rubygems-gemfile.json new file mode 100644 index 00000000..3cd708a3 --- /dev/null +++ b/flatpak/rubygems-gemfile.json @@ -0,0 +1,8 @@ +[{ + "type": "file", + "path": "../Gemfile" +}, +{ + "type": "file", + "path": "../Gemfile.lock" +}] diff --git a/flatpak/rubygems.json b/flatpak/rubygems.json new file mode 100644 index 00000000..7934aa10 --- /dev/null +++ b/flatpak/rubygems.json @@ -0,0 +1,100 @@ +{ + "name": "rubygems", + "buildsystem": "simple", + "build-commands": [ + "bundle install --local" + ], + "sources": [ + "rubygems-gemfile.json", + { + "type": "file", + "url": "https://rubygems.org/gems/gtk2-3.3.2.gem", + "sha256": "1a9fcd1bc6e6a0cca3deebe45f52d25a82f4e9fb5ca397391328ef6a959194a8", + "dest": "vendor/cache" + }, + { + "type": "file", + "url": "https://rubygems.org/gems/cairo-1.16.2.gem", + "sha256": "d98d013bb9665de5f4f33eb7bd4102f4e1d4e94313418dafec6efec1c3366ba6", + "dest": "vendor/cache" + }, + { + "type": "file", + "url": "https://rubygems.org/gems/pango-3.3.2.gem", + "sha256": "37d575850006ce0c921623c140e2949f5dc59e69d6b32e4ee151106f9a967051", + "dest": "vendor/cache" + }, + { + "type": "file", + "url": "https://rubygems.org/gems/cairo-gobject-3.3.2.gem", + "sha256": "dfe9e70c74686c67ae7e340bbd79c0bb9cb5b5c0d791482d5bdbd95d5420048b", + "dest": "vendor/cache" + }, + { + "type": "file", + "url": "https://rubygems.org/gems/atk-3.3.2.gem", + "sha256": "001cd0c39a4f1a66a3a9e607b6fbdca052a3dc99f98a1ee55ad484e7798f859d", + "dest": "vendor/cache" + }, + { + "type": "file", + "url": "https://rubygems.org/gems/glib2-3.3.2.gem", + "sha256": "774cfa17cbff5ce44487af20b79c6b877ebd75c6d8b675be7440f6371f8a218f", + "dest": "vendor/cache" + }, + { + "type": "file", + "url": "https://rubygems.org/gems/native-package-installer-1.0.6.gem", + "sha256": "7cff2ddbedc529e5f98422288e198428fcf420d78ffabfd4c88536870dda0c3f", + "dest": "vendor/cache" + }, + { + "type": "file", + "url": "https://rubygems.org/gems/locale-2.1.2.gem", + "sha256": "1db4a6b5f21fcd64f397d61bf2af69840dc11b3176d1fa6d75a0e749f04a9aea", + "dest": "vendor/cache" + }, + { + "type": "file", + "url": "https://rubygems.org/gems/pkg-config-1.3.4.gem", + "sha256": "7042edd0a8cc5856732d014f569b86d6a959a8770bf4557ac318fae9b92dbda8", + "dest": "vendor/cache" + }, + { + "type": "file", + "url": "https://rubygems.org/gems/gdk_pixbuf2-3.3.2.gem", + "sha256": "67caf8a78b5b49636175929dc9621da42f2ea3da0b96980759b8683891423f1c", + "dest": "vendor/cache" + }, + { + "type": "file", + "url": "https://rubygems.org/gems/rexml-3.2.0.gem", + "sha256": "e45a2922ae016875b95172b915d3f017874bc98fd57eff5645b5db34d21a8c73", + "dest": "vendor/cache" + }, + { + "type": "file", + "url": "https://rubygems.org/gems/gobject-introspection-3.3.2.gem", + "sha256": "c749923d32d07741f34756392753edce50b9bb15ee99eee1e41793e74165d296", + "dest": "vendor/cache" + }, + { + "type": "file", + "url": "https://rubygems.org/gems/gio2-3.3.2.gem", + "sha256": "167dc7182ec3408c6de73bc7537572858dda0f9d1d4d129195dafd9f9a0f23b8", + "dest": "vendor/cache" + }, + { + "type": "file", + "url": "https://rubygems.org/gems/gettext-3.2.9.gem", + "sha256": "990392498a757dce3936ddaf4a65fefccbdf0ca9c62d51af57c032f58edcc41c", + "dest": "vendor/cache" + }, + { + "type": "file", + "url": "https://rubygems.org/gems/text-1.3.1.gem", + "sha256": "2fbbbc82c1ce79c4195b13018a87cbb00d762bda39241bb3cdc32792759dd3f4", + "dest": "vendor/cache" + } + ] +} \ No newline at end of file diff --git a/flatpak/shared-modules b/flatpak/shared-modules new file mode 160000 index 00000000..9e85e92a --- /dev/null +++ b/flatpak/shared-modules @@ -0,0 +1 @@ +Subproject commit 9e85e92adf0257a5869f1778a77d81318dbc926c diff --git a/lib/rubyripper/system/dependency.rb b/lib/rubyripper/system/dependency.rb index 52e51a2b..2b28313a 100644 --- a/lib/rubyripper/system/dependency.rb +++ b/lib/rubyripper/system/dependency.rb @@ -23,20 +23,20 @@ class Dependency include Singleton unless $run_specs include GetText GetText.bindtextdomain("rubyripper") - def self._(txt) ; GetText._(txt) ; end - + def self._(txt) ; GetText._(txt) ; end + attr_reader :platform - + def initialize(file=nil, platform=nil) @platform = platform ? platform : RUBY_PLATFORM @file = file ? file : File end - + # should be triggered by any user interface def startupCheck checkForcedDeps() end - + def eject(cdrom) Thread.new do @exec = Execute.new @@ -44,13 +44,13 @@ def eject(cdrom) @exec.launch("eject #{cdrom}") #Mac users have diskutil instead of eject elsif installed?('diskutil') - @exec.launch("diskutil eject #{cdrom}") + @exec.launch("diskutil eject #{cdrom}") else puts _("WARNING: No eject utility found!") end end end - + # opposite of eject def closeTray(cdrom) if installed?('eject') @@ -76,7 +76,7 @@ def verify(verbose=false, runtime=true) def env(var) return ENV[var] end - + # an array with dirs in which binary files are launchable def path ; ENV['PATH'].split(':') + ['.'] ; end @@ -167,6 +167,8 @@ def isGtk2Found begin require 'gtk2' return true + rescue Gtk::InitError + return true rescue LoadError return false end @@ -250,21 +252,21 @@ def getBrowser # determine default drive def getCdrom #default values for cdrom drives under differenty os'es case platform - when /freebsd/ then drive = getFreebsdDrive() + when /freebsd/ then drive = getFreebsdDrive() when /openbsd/ then drive = '/dev/cd0c' # as provided in issue 324 when /linux|bsd/ then drive = getLinuxDrive() when /darwin/ then drive = '/dev/disk1' end - + return drive ? drive : 'unknown' end - + def getFreebsdDrive (0..9).each{|num| return "/dev/cd#{num}" if @file.exist?("/dev/cd#{num}")} (0..9).each{|num| return "/dev/acd#{num}" if @file.exist?("/dev/acd#{num}")} return false end - + def getLinuxDrive return '/dev/cdrom' if @file.exist?('/dev/cdrom') return '/dev/dvdrom' if @file.exist?('/dev/dvdrom') diff --git a/po/ru/rubyripper.po b/po/ru/rubyripper.po index b7aed897..aae7bdf7 100644 --- a/po/ru/rubyripper.po +++ b/po/ru/rubyripper.po @@ -43,7 +43,7 @@ msgstr "" #: lib/rubyripper/system/dependency.rb:111 msgid "Your disc tray can not be opened after ripping" -msgstr "" +msgstr "Не открывать лоток для диска после копирования" #: lib/rubyripper/system/dependency.rb:112 msgid "You won't be able to encode in FLAC." @@ -129,7 +129,7 @@ msgstr "Дорожка %s отмечена, как DATA-дорожка\n" #: lib/rubyripper/disc/scanDiscCdparanoia.rb:209 msgid "ERROR: No audio tracks found!" -msgstr "" +msgstr "ОШИБКА: Нет звуковых дорожек" #: lib/rubyripper/disc/permissionDrive.rb:84 #, fuzzy @@ -197,15 +197,15 @@ msgstr "Неизвестный Исполнитель" #: lib/rubyripper/base.rb:46 msgid "test" -msgstr "" +msgstr "тест" #: lib/rubyripper/gtk2/gtkSummary.rb:42 msgid "The rip has succesfully finished.\\nA short summary is shown below." -msgstr "" +msgstr "Копирование успешно завершено.\\nКраткое описании показано ниже" #: lib/rubyripper/gtk2/gtkSummary.rb:45 msgid "The rip had some problems.\\nA short summary is shown below." -msgstr "" +msgstr "При копирование были проблемы.\\nКраткое описании показано ниже" #: lib/rubyripper/gtk2/gtkSummary.rb:67 msgid "Open log file" @@ -259,7 +259,6 @@ msgstr "Год:" msgid "Mark disc as various artist" msgstr "Сборник (разные исполнители)" -# пояснение от девелопера: # Freeze means it won't change. Like ice isn't moving as easily as water ;) It's an # expression. You can also read it as "don't changed disc info". #: lib/rubyripper/gtk2/gtkDisc.rb:103 @@ -508,7 +507,7 @@ msgstr "Выбор кодека" #: lib/rubyripper/gtk2/gtkPreferences.rb:466 msgid "No settings available" -msgstr "" +msgstr "Нет доступных настроек" #: lib/rubyripper/gtk2/gtkPreferences.rb:504 #, fuzzy @@ -583,7 +582,7 @@ msgstr "Кодеки" #: lib/rubyripper/gtk2/gtkPreferences.rb:581 msgid "Primary metadata provider:" -msgstr "" +msgstr "Поставщик первичных метаданных:" #: lib/rubyripper/gtk2/gtkPreferences.rb:583 msgid "Freedb" @@ -595,11 +594,11 @@ msgstr "" #: lib/rubyripper/gtk2/gtkPreferences.rb:585 msgid "Don't use a metadata provider" -msgstr "" +msgstr "Не использовать поставщика метаданных" #: lib/rubyripper/gtk2/gtkPreferences.rb:588 msgid "Choose your metadata provider" -msgstr "" +msgstr "Выберите поставщика метаданных" #: lib/rubyripper/gtk2/gtkPreferences.rb:594 msgid "Always use first freedb hit" @@ -628,33 +627,33 @@ msgstr "Настройки" #: lib/rubyripper/gtk2/gtkPreferences.rb:617 msgid "Preferred release date:" -msgstr "" +msgstr "Предпочтительная дата выпуска:" #: lib/rubyripper/gtk2/gtkPreferences.rb:619 msgid "Preferred year (metadata):" -msgstr "" +msgstr "Предпочтительный год (метаданные):" #: lib/rubyripper/gtk2/gtkPreferences.rb:623 msgid "Latest available" -msgstr "" +msgstr "Последние доступные" #: lib/rubyripper/gtk2/gtkPreferences.rb:624 msgid "Original" -msgstr "" +msgstr "Оригинал" #: lib/rubyripper/gtk2/gtkPreferences.rb:625 msgid "From release" -msgstr "" +msgstr "Из выпуска" #: lib/rubyripper/gtk2/gtkPreferences.rb:635 #, fuzzy msgid "Musicbrainz options" -msgstr "Параметры копирования" +msgstr "Параметры Musicbrainz" #: lib/rubyripper/gtk2/gtkPreferences.rb:648 #: lib/rubyripper/cli/cliPreferences.rb:107 msgid "Metadata" -msgstr "" +msgstr "Метаданные" #: lib/rubyripper/gtk2/gtkPreferences.rb:655 msgid "Base directory:" @@ -761,13 +760,11 @@ msgstr "Другой" #: lib/rubyripper/gtk2/shortMessage.rb:33 #, fuzzy msgid "...Scanning drive %s for an audio disc." -msgstr "" -"Добро пожаловать в rubyripper %s.\n" -"Сканирование привода %s на наличие аудиодиска..." +msgstr "Сканирование привода %s на наличие аудиодиска..." #: lib/rubyripper/gtk2/shortMessage.rb:37 msgid "Welcome to rubyripper %s." -msgstr "" +msgstr "Добро пожаловать в rubyripper %s." #: lib/rubyripper/gtk2/shortMessage.rb:46 #, fuzzy @@ -783,12 +780,12 @@ msgstr "" #: lib/rubyripper/gtk2/shortMessage.rb:50 #, fuzzy msgid "Opening tray of drive %s." -msgstr "Открытие лотка %s" +msgstr "Открытие лотка привода %s" #: lib/rubyripper/gtk2/shortMessage.rb:54 #, fuzzy msgid "Closing tray of the drive." -msgstr "Открытие лотка %s" +msgstr "Закрытие лотка привода %s" #: lib/rubyripper/gtk2/shortMessage.rb:58 #, fuzzy @@ -822,7 +819,7 @@ msgstr "Найдено несколько совпадений..." #: lib/rubyripper/secureRip.rb:131 msgid "Not enough disk space left! Rip aborted" -msgstr "Недостаточно места на дискке! Копирование отменено" +msgstr "Недостаточно места на диске! Копирование отменено" #: lib/rubyripper/secureRip.rb:141 msgid "Copy OK" @@ -830,11 +827,11 @@ msgstr "" #: lib/rubyripper/secureRip.rb:147 msgid "Irrecoverable sectors at the following times:" -msgstr "" +msgstr "Испорченные сектора в следующие моменты времени" #: lib/rubyripper/secureRip.rb:150 msgid "Copy finished" -msgstr "" +msgstr "Копирование завершено" #: lib/rubyripper/secureRip.rb:189 #, fuzzy @@ -850,15 +847,15 @@ msgstr "Неверный размер файла! Пробуем ещё раз\n #: lib/rubyripper/secureRip.rb:239 msgid "Sector mismatches at the following times, requiring extra trials:" -msgstr "" +msgstr "Сектор не отвечает в следующие моменты времени, требуя дополнительных попыток:" #: lib/rubyripper/secureRip.rb:354 msgid "The drive is spinning for more than 30 minutes." -msgstr "" +msgstr "Привод вращается более 30 минут." #: lib/rubyripper/secureRip.rb:355 msgid "Taking a timeout of 2 minutes to protect the hardware." -msgstr "" +msgstr "Время ожидания 2 минуты для защиты оборудования." #: lib/rubyripper/metadata/data.rb:28 msgid "Unknown" @@ -876,11 +873,11 @@ msgstr "Аудиодиск в устройстве %s не обнаружен" #: lib/rubyripper/errors.rb:26 #, fuzzy msgid "There is no audio disc ready in drive %s." -msgstr "Аудиодиск в устройстве %s не обнаружен" +msgstr "В драйвере %s нет готового аудио диска" #: lib/rubyripper/errors.rb:27 msgid "%s does not recognize the parameters used." -msgstr "" +msgstr "%s не может распознать используемые параметры." #: lib/rubyripper/errors.rb:28 msgid "The device %s doesn't exist on your system!" @@ -893,7 +890,7 @@ msgstr "Выберите хотя бы одну дорожку." #: lib/rubyripper/errors.rb:30 #, fuzzy msgid "Please select at least one codec." -msgstr "Выберите хотя бы одну дорожку." +msgstr "Выберите хотя бы одну кодек." #: lib/rubyripper/errors.rb:31 msgid "No update function found in the user interface" @@ -922,13 +919,13 @@ msgstr "" #: lib/rubyripper/errors.rb:43 msgid "Error" -msgstr "" +msgstr "Ошибка" #: lib/rubyripper/rippingInfoAtStart.rb:47 #: lib/rubyripper/cli/cliArguments.rb:47 bin/rubyripper_cli:82 #, fuzzy msgid "Rubyripper version %s" -msgstr "Этот журнал создан RubyRipper версии %s\n" +msgstr "Rubyripper версия %s\n" #: lib/rubyripper/rippingInfoAtStart.rb:48 msgid "\\nWebsite:" @@ -945,11 +942,11 @@ msgstr "Неизвестный привод" #: lib/rubyripper/rippingInfoAtStart.rb:58 msgid "Device" -msgstr "" +msgstr "Устройство" #: lib/rubyripper/rippingInfoAtStart.rb:60 msgid "Used ripper" -msgstr "" +msgstr "Используемый ripper" #: lib/rubyripper/rippingInfoAtStart.rb:61 #: lib/rubyripper/rippingInfoAtStart.rb:89 @@ -977,7 +974,7 @@ msgstr "" #: lib/rubyripper/rippingInfoAtStart.rb:67 #: lib/rubyripper/rippingInfoAtStart.rb:68 msgid "No" -msgstr "" +msgstr "Нет" #: lib/rubyripper/rippingInfoAtStart.rb:68 msgid "Fill up missing offset samples with silence : %s\\n" @@ -987,7 +984,7 @@ msgstr "" #: lib/rubyripper/rippingInfoAtStart.rb:69 #, fuzzy msgid "Yes" -msgstr "да" +msgstr "Да" #: lib/rubyripper/rippingInfoAtStart.rb:69 msgid "Null samples used in CRC calculations" @@ -1659,11 +1656,11 @@ msgstr "н" #: lib/rubyripper/cli/cliTracklist.rb:42 msgid "It's not possible to select tracks for image rips" -msgstr "" +msgstr "Невозможно выбрать дорожки для копирования " #: lib/rubyripper/cli/cliTracklist.rb:43 msgid "Please change your rip preferences first" -msgstr "" +msgstr "Пожалуйста, сначала измените настройки копирования" #: lib/rubyripper/cli/cliTracklist.rb:54 msgid "TRACK SELECTION" @@ -1671,11 +1668,11 @@ msgstr "" #: lib/rubyripper/cli/cliTracklist.rb:60 msgid "To toggle all tracks on/off" -msgstr "" +msgstr "Включение/выключение всех дорожек" #: lib/rubyripper/cli/cliTracklist.rb:61 msgid "Back to main menu" -msgstr "" +msgstr "Назад в главное меню" #: lib/rubyripper/cli/cliTracklist.rb:81 lib/rubyripper/cli/cliDisc.rb:168 #, fuzzy @@ -1695,9 +1692,8 @@ msgstr "Выбранные дорожки: %s" #: lib/rubyripper/cli/cliDisc.rb:70 msgid "Total playtime: %s" -msgstr "" +msgstr "Общее время воспроизведения: %s" -# пояснение от девелопера: # Freeze means it won't change. Like ice isn't moving as easily as water ;) It's an # expression. You can also read it as "don't changed disc info". #: lib/rubyripper/cli/cliDisc.rb:97 lib/rubyripper/cli/cliDisc.rb:158 @@ -1726,7 +1722,7 @@ msgstr "3) Редактировать информацию о дорожке" #: lib/rubyripper/cli/cliDisc.rb:126 msgid "Return to main menu" -msgstr "" +msgstr "Вернуться в главное меню" #: lib/rubyripper/cli/cliDisc.rb:144 #, fuzzy @@ -1735,7 +1731,7 @@ msgstr "ИНФОРМАЦИЯ О ДИСКЕ" #: lib/rubyripper/cli/cliDisc.rb:147 lib/rubyripper/cli/cliDisc.rb:176 msgid "Back to metadata menu" -msgstr "" +msgstr "Вернуться в меню метаданных" #: lib/rubyripper/cli/cliDisc.rb:173 #, fuzzy @@ -1747,10 +1743,9 @@ msgstr "ДОРОЖКА" msgid "Track name:" msgstr "Имя пользователя:" -# бляяяя, капец. переводчику +100 ))))) #: bin/rubyripper_gtk2:95 msgid "Ehh.. There shouldn't be anything else. WTF?" -msgstr "Блин... Это ещё что за хуйня?" +msgstr "Эх .. Там не должно быть ничего другого. Что за чёрт?" #: bin/rubyripper_gtk2:96 msgid "Secret modus = %s" @@ -1775,15 +1770,15 @@ msgstr "Настройки" #: bin/rubyripper_gtk2:194 msgid "Scan drive" -msgstr "Прочитать" +msgstr "Сканировать дисковод" #: bin/rubyripper_gtk2:194 msgid "Rip cd now!" -msgstr "Копировать!" +msgstr "Копировать сейчас!" #: bin/rubyripper_gtk2:274 msgid "Disc info" -msgstr "Диск" +msgstr "Информация о диске" #: bin/rubyripper_gtk2:339 msgid "Close tray" @@ -1791,7 +1786,7 @@ msgstr "Закрыть лоток" #: bin/rubyripper_gtk2:392 bin/rubyripper_cli:139 msgid "Please solve the following configuration errors first:" -msgstr "" +msgstr "Пожалуйста, устраните следующие ошибки конфигурации:" #: bin/rubyripper_cli:70 msgid "Do you want to change your settings? (y/n) : " @@ -1809,11 +1804,11 @@ msgstr "Настройки" #: bin/rubyripper_cli:100 msgid "Scan drive for audio disc" -msgstr "" +msgstr "Сканировать дисковод для аудиодиска" #: bin/rubyripper_cli:101 msgid "Change metadata" -msgstr "" +msgstr "Изменение метаданных" #: bin/rubyripper_cli:102 #, fuzzy @@ -1822,11 +1817,11 @@ msgstr "1) Выбрать дорожки для копирования" #: bin/rubyripper_cli:103 msgid "Rip the disc!" -msgstr "" +msgstr "Создать копию диска" #: bin/rubyripper_cli:104 msgid "Exit rubyripper..." -msgstr "" +msgstr "Выход rubyripper..." #: bin/rubyripper_cli:113 #, fuzzy @@ -1835,7 +1830,7 @@ msgstr "Показать текущую версию rubyripper." #: bin/rubyripper_cli:114 msgid "Have a nice day!" -msgstr "" +msgstr "Хорошего дня!" #: bin/rubyripper_cli:146 msgid "Rip is canceled, exiting..." @@ -1855,7 +1850,7 @@ msgstr "2) Заменить директорию" #: bin/rubyripper_cli:172 msgid "3) Cancel the rip and eject the disc" -msgstr "3) Отменить и извлечь диск" +msgstr "3) Отменить копирование и извлечь диск" #: bin/rubyripper_cli:175 msgid "Please enter the number of your choice: " @@ -1863,7 +1858,7 @@ msgstr "Укажите номер пункта: " #, fuzzy #~ msgid "Trackname" -#~ msgstr "Имя пользователя:" +#~ msgstr "Название трека:" #~ msgid "Flac" #~ msgstr "Flac" diff --git a/share/appdata/rubyripper.appdata.xml b/share/appdata/rubyripper.appdata.xml new file mode 100644 index 00000000..6a0e30de --- /dev/null +++ b/share/appdata/rubyripper.appdata.xml @@ -0,0 +1,18 @@ + + + rubyripper.desktop + CC0-1.0 + GPL-3.0+ + Rubyripper + Secure Audio Disc Ripper + +

+ Rubyripper aims to deliver high quality rips from audio cd's to your computer + drive. It tries to do so by ripping the same track with cdparanoia multiple + times and then comparing the results. It currently has a gtk2 and a command- + line interface. +

+
+ https://github.com/bleskodev/rubyripper/ + +