zik 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data.tar.gz.sig +0 -0
- data/ChangeLog +222 -0
- data/INSTALL +34 -0
- data/Makefile.in +199 -0
- data/README +53 -0
- data/ZiK.desktop +11 -0
- data/ZiK.rb +377 -0
- data/configure +269 -0
- data/dependencies +142 -0
- data/doc/COPYING +340 -0
- data/doc/ChangeLog +222 -0
- data/doc/html/fr/index.html +128 -0
- data/doc/html/index.html +126 -0
- data/doc/html/pix/ZiK3.png +0 -0
- data/doc/html/pix/capture.png +0 -0
- data/doc/html/pix/capture_cd.png +0 -0
- data/doc/html/pix/capture_compact.png +0 -0
- data/doc/html/pix/capture_radio.png +0 -0
- data/doc/html/pix/icon.png +0 -0
- data/doc/html/pix/logo.png +0 -0
- data/doc/html/styles/main.css +47 -0
- data/doc/man/manpage.1 +43 -0
- data/gui/assistant.rb +133 -0
- data/gui/cdgui.rb +54 -0
- data/gui/common.rb +56 -0
- data/gui/config.rb +120 -0
- data/gui/edit.rb +413 -0
- data/gui/error.rb +124 -0
- data/gui/gui.rb +1383 -0
- data/gui/mod.rb +239 -0
- data/gui/preference.rb +496 -0
- data/gui/progress.rb +50 -0
- data/gui/radiogui.rb +404 -0
- data/gui/search.rb +249 -0
- data/gui/socket.rb +107 -0
- data/mod/brainz.rb +76 -0
- data/mod/brainz/dialogs.rb +132 -0
- data/mod/brainz/functions.rb +55 -0
- data/mod/brainz/ofa.rb +76 -0
- data/mod/brainz/song.rb +139 -0
- data/mod/brainz/widget.rb +34 -0
- data/mod/cover.rb +90 -0
- data/mod/cover/application-x-cd-image.svg +666 -0
- data/mod/cover/config.rb +79 -0
- data/mod/cover/configwidget.rb +35 -0
- data/mod/cover/widget.rb +147 -0
- data/mod/hotkeys.rb +137 -0
- data/mod/hotkeys/config.rb +84 -0
- data/mod/hotkeys/configwidget.rb +93 -0
- data/mod/interact.rb +131 -0
- data/mod/interact/configwidget.rb +107 -0
- data/mod/interact/interaction.rb +79 -0
- data/mod/notify.rb +128 -0
- data/mod/notify/config.rb +96 -0
- data/mod/notify/configwidget.rb +76 -0
- data/mod/notify/window.rb +56 -0
- data/mod/trayicon.rb +83 -0
- data/mod/trayicon/config.rb +79 -0
- data/mod/trayicon/configwidget.rb +35 -0
- data/mod/trayicon/icon.rb +99 -0
- data/pix/ZiK.svg +78 -0
- data/pix/ZiK3.png +0 -0
- data/pix/assistant/capture.png +0 -0
- data/pix/gtk-directory.svg +287 -0
- data/pix/media-cdrom.svg +292 -0
- data/pix/network-wireless.svg +429 -0
- data/pix/player_play.svg +286 -0
- data/pix/sound.svg +244 -0
- data/pix/sound_directory.svg +464 -0
- data/player/cdplayer.rb +108 -0
- data/player/player.rb +132 -0
- data/player/radioplayer.rb +124 -0
- data/playlist/cdlist.rb +140 -0
- data/playlist/common.rb +343 -0
- data/playlist/editlist.rb +50 -0
- data/playlist/export.rb +108 -0
- data/playlist/playlist.rb +143 -0
- data/playlist/radiolist.rb +148 -0
- data/playlist/song.rb +122 -0
- data/po/ZiK.pot +622 -0
- data/po/fr/ZiK.po +658 -0
- data/zik +2 -0
- metadata +265 -0
- metadata.gz.sig +0 -0
@@ -0,0 +1,143 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
=begin
|
3
|
+
Copyright 2007-2011 Vincent Carmona
|
4
|
+
vinc4mai@gmail.com
|
5
|
+
|
6
|
+
This file is part of ZiK.
|
7
|
+
|
8
|
+
ZiK is free software; you can redistribute it and/or modify
|
9
|
+
it under the terms of the GNU General Public License as published by
|
10
|
+
the Free Software Foundation; either version 2 of the License, or
|
11
|
+
(at your option) any later version.
|
12
|
+
|
13
|
+
ZiK is distributed in the hope that it will be useful,
|
14
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
GNU General Public License for more details.
|
17
|
+
|
18
|
+
You should have received a copy of the GNU General Public License
|
19
|
+
along with ZiK; if not, write to the Free Software
|
20
|
+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
21
|
+
=end
|
22
|
+
|
23
|
+
class PlayList
|
24
|
+
include ListBase
|
25
|
+
include ListPlay
|
26
|
+
|
27
|
+
attr_reader :songs, :current
|
28
|
+
attr_writer :sort_by_track
|
29
|
+
|
30
|
+
def initialize(file, current, shuffle, repeat, format, sort_by_track)
|
31
|
+
@songs=[]; @order=[];@current=current
|
32
|
+
@shuffle=shuffle; @repeat=repeat; @format=format; @sort_by_track=sort_by_track
|
33
|
+
@n=0
|
34
|
+
add_zik(file) if file
|
35
|
+
@current=0 if @current<0
|
36
|
+
@current=0 if @current>=@songs.length
|
37
|
+
@order=@order.sort_by{rand}
|
38
|
+
if @shuffle
|
39
|
+
@current=@order[0] if @order[0]
|
40
|
+
else
|
41
|
+
@n=@current
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def playlist?
|
46
|
+
true
|
47
|
+
end
|
48
|
+
|
49
|
+
private
|
50
|
+
|
51
|
+
def add_zik(file)
|
52
|
+
begin
|
53
|
+
f=File.open(file, 'r')
|
54
|
+
data=f.read
|
55
|
+
rescue
|
56
|
+
ErrorError.new("#{file} cannot be read.", true)
|
57
|
+
ensure
|
58
|
+
f.close if f
|
59
|
+
end
|
60
|
+
begin
|
61
|
+
dir=Pathname.new(file).dirname
|
62
|
+
data.split(/\n{2}/).each{|song|
|
63
|
+
tag={}
|
64
|
+
array=song.split(/\n/)
|
65
|
+
path=Pathname.new(array.shift)
|
66
|
+
path.relative? ? p=dir+path : p=path
|
67
|
+
array.each{|a|
|
68
|
+
l=a.split('=', 2)
|
69
|
+
tag[l[0].to_sym]=l[1]
|
70
|
+
}
|
71
|
+
tag[:duration]=tag[:duration].to_i; tag[:track]=tag[:track].to_i; tag[:bitrate]=tag[:bitrate].to_i
|
72
|
+
tag[:samplerate]=tag[:samplerate].to_i; tag[:channels]=tag[:channels].to_i
|
73
|
+
add_file(p.to_s, tag)
|
74
|
+
}
|
75
|
+
rescue
|
76
|
+
ErrorError.new("Error while parsing #{file}.", true)
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
public
|
81
|
+
|
82
|
+
def save_zik(file, relative=false)
|
83
|
+
dir=Pathname.new(file).dirname
|
84
|
+
f=File.open(file, 'w')
|
85
|
+
@songs.each{|song|
|
86
|
+
if relative
|
87
|
+
f.puts Pathname.new(song.path).relative_path_from(dir)
|
88
|
+
else
|
89
|
+
f.puts song.path
|
90
|
+
end
|
91
|
+
f.puts 'name='+song.name
|
92
|
+
f.puts 'title='+song.title
|
93
|
+
f.puts 'artist='+song.artist
|
94
|
+
f.puts 'album='+song.album
|
95
|
+
f.puts 'track='+song.track.to_s
|
96
|
+
f.puts 'genre='+song.genre
|
97
|
+
f.puts 'duration='+song.duration.to_s
|
98
|
+
f.puts 'bitrate='+song.bitrate.to_s
|
99
|
+
f.puts 'samplerate='+song.samplerate.to_s
|
100
|
+
f.puts 'channels='+song.channels.to_s
|
101
|
+
f.puts "\n"
|
102
|
+
}
|
103
|
+
f.close if f
|
104
|
+
ErrorInfo.new("#{file} saved.")
|
105
|
+
end
|
106
|
+
|
107
|
+
def rm(num)
|
108
|
+
ret=false
|
109
|
+
ret=true if num==@current
|
110
|
+
@n-=1 if @order.index(num)<@n
|
111
|
+
@order.delete(num)
|
112
|
+
@order.each_index{|ind| @order[ind]-=1 if @order[ind]>num}
|
113
|
+
@songs.delete_at(num)
|
114
|
+
@current-=1 if num<@current
|
115
|
+
@n=@current unless @shuffle
|
116
|
+
ret
|
117
|
+
end
|
118
|
+
|
119
|
+
def change_to(new)
|
120
|
+
current=0; order=[]
|
121
|
+
if @songs.empty?
|
122
|
+
for i in 0...new.songs.length
|
123
|
+
order.push(i)
|
124
|
+
end
|
125
|
+
else
|
126
|
+
i=0
|
127
|
+
new.songs.each{|song|
|
128
|
+
current=i if song.path==(@songs[@current]).path
|
129
|
+
order.push(i)
|
130
|
+
i+=1
|
131
|
+
}
|
132
|
+
end
|
133
|
+
@order=order.sort_by{rand}
|
134
|
+
@songs=new.songs
|
135
|
+
@current=current
|
136
|
+
if @shuffle
|
137
|
+
@n=@order.index(@current)
|
138
|
+
else
|
139
|
+
@n=@current
|
140
|
+
end
|
141
|
+
end
|
142
|
+
|
143
|
+
end
|
@@ -0,0 +1,148 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
=begin
|
3
|
+
Copyright 2007-2011 Vincent Carmona
|
4
|
+
vinc4mai@gmail.com
|
5
|
+
|
6
|
+
This file is part of ZiK.
|
7
|
+
|
8
|
+
ZiK is free software; you can redistribute it and/or modify
|
9
|
+
it under the terms of the GNU General Public License as published by
|
10
|
+
the Free Software Foundation; either version 2 of the License, or
|
11
|
+
(at your option) any later version.
|
12
|
+
|
13
|
+
ZiK is distributed in the hope that it will be useful,
|
14
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
GNU General Public License for more details.
|
17
|
+
|
18
|
+
You should have received a copy of the GNU General Public License
|
19
|
+
along with ZiK; if not, write to the Free Software
|
20
|
+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
21
|
+
=end
|
22
|
+
|
23
|
+
module Radio
|
24
|
+
class WebRadio
|
25
|
+
attr_accessor :name, :url, :type
|
26
|
+
attr_reader :duration
|
27
|
+
|
28
|
+
def initialize(name, url)
|
29
|
+
@name=name
|
30
|
+
@url=url
|
31
|
+
@duration=-1
|
32
|
+
@type=SONG_RADIO
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
class List
|
37
|
+
attr_reader :radios
|
38
|
+
attr_accessor :current
|
39
|
+
|
40
|
+
def initialize(file)
|
41
|
+
@file=file
|
42
|
+
@radios=[]
|
43
|
+
@current=0
|
44
|
+
read
|
45
|
+
end
|
46
|
+
|
47
|
+
def read
|
48
|
+
begin
|
49
|
+
f=File.open(@file)
|
50
|
+
array=f.readlines
|
51
|
+
array.reject!{|a| a =~ /^##/}
|
52
|
+
array.reject!{|a| a =~ /^\n/}
|
53
|
+
array.each{|a| a.chomp!}
|
54
|
+
until array.empty?
|
55
|
+
@radios.push(Radio::WebRadio.new(array.shift, array.shift))
|
56
|
+
end
|
57
|
+
ErrorInfo.new("#{@file} read.")
|
58
|
+
rescue
|
59
|
+
ErrorWarning.new("#{@file} not found.")
|
60
|
+
ensure
|
61
|
+
f.close unless f.nil?
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
def write
|
66
|
+
begin
|
67
|
+
f=File.open(@file,'w')
|
68
|
+
f.puts '##Radios'
|
69
|
+
@radios.each{|radio|
|
70
|
+
f.puts radio.name
|
71
|
+
f.puts radio.url
|
72
|
+
}
|
73
|
+
ErrorInfo.new("List of radios saved.")
|
74
|
+
rescue
|
75
|
+
ErrorError.new(_('Saving radios.'), true)
|
76
|
+
ensure
|
77
|
+
f.close unless f.nil?
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
def add(name, url)
|
82
|
+
@radios.push(Radio::WebRadio.new(name, url))
|
83
|
+
end
|
84
|
+
|
85
|
+
def rm(i)
|
86
|
+
@current==i ? ret=true : ret=false
|
87
|
+
@radios.delete_at(i)
|
88
|
+
@current-=1 if i<@current
|
89
|
+
ret
|
90
|
+
end
|
91
|
+
|
92
|
+
def clear
|
93
|
+
@radios.clear
|
94
|
+
@current=0
|
95
|
+
end
|
96
|
+
|
97
|
+
def change_to(new)
|
98
|
+
current=0
|
99
|
+
new.radios.each_with_index{|radio, i| current=i if radio.url==@radios[@current].url}
|
100
|
+
@radios=new.radios
|
101
|
+
@current=current
|
102
|
+
end
|
103
|
+
|
104
|
+
def import(file)
|
105
|
+
begin
|
106
|
+
f=File.open(file,'r')
|
107
|
+
while line=f.gets
|
108
|
+
case line.chomp!
|
109
|
+
when /^#EXTINF:/
|
110
|
+
name=line.split(',', 2)[1]
|
111
|
+
when /^#/
|
112
|
+
when /^[:blank:]*$/
|
113
|
+
else
|
114
|
+
name=_('Uname Radio') if name.nil?
|
115
|
+
add(name, line)
|
116
|
+
name=nil
|
117
|
+
end
|
118
|
+
end
|
119
|
+
rescue
|
120
|
+
ErrorError.new("Cannot import radios list #{file}.", true)
|
121
|
+
ensure
|
122
|
+
f.close if f
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
class EditList
|
128
|
+
#Code looks like Radio::List
|
129
|
+
attr_reader :radios
|
130
|
+
|
131
|
+
def initialize(radios)
|
132
|
+
@radios=[]
|
133
|
+
@radios.concat(radios)
|
134
|
+
end
|
135
|
+
|
136
|
+
def add(name, url)
|
137
|
+
@radios.push(Radio::WebRadio.new(name, url))
|
138
|
+
end
|
139
|
+
|
140
|
+
def rm(i)
|
141
|
+
@radios.delete_at(i)
|
142
|
+
end
|
143
|
+
|
144
|
+
def clear
|
145
|
+
@radios.clear
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
data/playlist/song.rb
ADDED
@@ -0,0 +1,122 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
=begin
|
3
|
+
Copyright 2007-2011 Vincent Carmona
|
4
|
+
vinc4mai@gmail.com
|
5
|
+
|
6
|
+
This file is part of ZiK.
|
7
|
+
|
8
|
+
ZiK is free software; you can redistribute it and/or modify
|
9
|
+
it under the terms of the GNU General Public License as published by
|
10
|
+
the Free Software Foundation; either version 2 of the License, or
|
11
|
+
(at your option) any later version.
|
12
|
+
|
13
|
+
ZiK is distributed in the hope that it will be useful,
|
14
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
15
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
16
|
+
GNU General Public License for more details.
|
17
|
+
|
18
|
+
You should have received a copy of the GNU General Public License
|
19
|
+
along with ZiK; if not, write to the Free Software
|
20
|
+
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
21
|
+
=end
|
22
|
+
|
23
|
+
SongType=[SONG_FILE=0, SONG_CD=1, SONG_RADIO=2]
|
24
|
+
|
25
|
+
class BadPath < Exception
|
26
|
+
end
|
27
|
+
|
28
|
+
class Song
|
29
|
+
attr_reader :path, :name, :bitrate, :samplerate, :channels, :type
|
30
|
+
attr_accessor :title, :artist, :album, :track, :genre, :duration
|
31
|
+
|
32
|
+
def initialize(file, format='Artist - Title', tag=nil)
|
33
|
+
raise BadPath.new unless File.exist?(file)
|
34
|
+
@type=SONG_FILE
|
35
|
+
@path=file
|
36
|
+
if tag
|
37
|
+
@name=tag[:name]
|
38
|
+
@title=tag[:title]; @artist=tag[:artist]; @album=tag[:album]; @track=tag[:track]; @genre=tag[:genre]; @duration=tag[:duration]
|
39
|
+
@bitrate=tag[:bitrate]; @samplerate=tag[:samplerate]; @channels=tag[:channels]
|
40
|
+
else
|
41
|
+
read_tag(@path); refresh_name(format)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def refresh_name(format)
|
46
|
+
sep=' - '
|
47
|
+
@name=""
|
48
|
+
format.split(' - ').each{|f|
|
49
|
+
case f
|
50
|
+
when 'Title'
|
51
|
+
unless @title.empty?
|
52
|
+
@name+=sep unless @name.empty?
|
53
|
+
@name+=@title
|
54
|
+
end
|
55
|
+
when 'Artist'
|
56
|
+
unless @artist.empty?
|
57
|
+
@name+=sep unless @name.empty?
|
58
|
+
@name+=@artist
|
59
|
+
end
|
60
|
+
when 'Album'
|
61
|
+
unless @album.empty?
|
62
|
+
@name+=sep unless @name.empty?
|
63
|
+
@name+=@album
|
64
|
+
end
|
65
|
+
when 'Track'
|
66
|
+
unless @track<=0
|
67
|
+
@name+=sep unless @name.empty?
|
68
|
+
@name+=("%02d" % @track)
|
69
|
+
end
|
70
|
+
when 'None'
|
71
|
+
@name+=""
|
72
|
+
else
|
73
|
+
ErrorError.new("Parsing format (Song::refresh_name).")
|
74
|
+
@name=""
|
75
|
+
break
|
76
|
+
end
|
77
|
+
}
|
78
|
+
if @name.empty?
|
79
|
+
ext=File.extname(@path);@name=File.basename(@path,ext)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
def read_tag(file)
|
84
|
+
begin
|
85
|
+
tag=TagLib::File.new(file)
|
86
|
+
@title=tag.title
|
87
|
+
@artist=tag.artist
|
88
|
+
@album=tag.album
|
89
|
+
@track=tag.track
|
90
|
+
@genre=tag.genre
|
91
|
+
@duration=tag.length
|
92
|
+
@bitrate=tag.bitrate
|
93
|
+
@samplerate=tag.samplerate
|
94
|
+
@channels=tag.channels
|
95
|
+
rescue TagLib::BadFile
|
96
|
+
ErrorWarning.new("Cannot read #{file}\'s tag.")
|
97
|
+
@title||=''; @artist||=''; @album||=''; @track||=-1; @genre||=''; @duration||=-1
|
98
|
+
@bitrate||=-1; @samplerate||=-1; @channels||=-1
|
99
|
+
rescue TagLib::BadTag
|
100
|
+
ErrorWarning.new("Cannot read #{file}\'s tag.")
|
101
|
+
@title||=''; @artist||=''; @album||=''; @track||=-1; @genre||=''; @duration||=-1
|
102
|
+
@bitrate||=-1; @samplerate||=-1; @channels||=-1
|
103
|
+
rescue TagLib::BadAudioProperties
|
104
|
+
ErrorWarning.new("Cannot read #{file}\'s audio properties.")
|
105
|
+
@bitrate||=-1; @samplerate||=-1; @channels||=-1
|
106
|
+
end
|
107
|
+
end
|
108
|
+
|
109
|
+
def write_tag(file)
|
110
|
+
begin
|
111
|
+
tag=TagLib::File.new(file)
|
112
|
+
tag.title=@title
|
113
|
+
tag.artist=@artist
|
114
|
+
tag.save
|
115
|
+
rescue TagLib::BadFile
|
116
|
+
ErrorWarning.new("Cannot write #{file}\'s tag.")
|
117
|
+
rescue TagLib::BadTag
|
118
|
+
ErrorWarning.new("Cannot write #{file}\'s tag.")
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
end
|
data/po/ZiK.pot
ADDED
@@ -0,0 +1,622 @@
|
|
1
|
+
# SOME DESCRIPTIVE TITLE.
|
2
|
+
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
3
|
+
# This file is distributed under the same license as the PACKAGE package.
|
4
|
+
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
5
|
+
#
|
6
|
+
#, fuzzy
|
7
|
+
msgid ""
|
8
|
+
msgstr ""
|
9
|
+
"Project-Id-Version: PACKAGE VERSION\n"
|
10
|
+
"POT-Creation-Date: 2011-03-11 06:26+0100\n"
|
11
|
+
"PO-Revision-Date: 2011-03-11 06:26+0100\n"
|
12
|
+
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13
|
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14
|
+
"MIME-Version: 1.0\n"
|
15
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
16
|
+
"Content-Transfer-Encoding: 8bit\n"
|
17
|
+
"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
|
18
|
+
|
19
|
+
#: gui/assistant.rb:31
|
20
|
+
msgid "Welcome to ZiK.\nThis assistant will briefly helps you to use and configure ZiK."
|
21
|
+
msgstr ""
|
22
|
+
|
23
|
+
#: gui/assistant.rb:36
|
24
|
+
msgid "Introduction (1/6)"
|
25
|
+
msgstr ""
|
26
|
+
|
27
|
+
#: gui/assistant.rb:41
|
28
|
+
msgid "ZiK uses the path of your audio files instead of a music library.\nThe browser (1) shows your audio files.\nYour playlist is shown on (3).\nYou can use buttons (2) to add/remove files to/from your playlist.\nThe button (4) is used to hide/show the different part of the window. It is also used to display the radio and the CDs player."
|
29
|
+
msgstr ""
|
30
|
+
|
31
|
+
#: gui/assistant.rb:58
|
32
|
+
msgid "Main window (2/6)"
|
33
|
+
msgstr ""
|
34
|
+
|
35
|
+
#: gui/assistant.rb:65
|
36
|
+
msgid "The browser displays only the selected directories. \nPlease select at least one Diretory."
|
37
|
+
msgstr ""
|
38
|
+
|
39
|
+
#: gui/assistant.rb:70 gui/preference.rb:229
|
40
|
+
msgid "Only files with the given extension are displayed in the browser view. Extensions must be separate by a comma (,)."
|
41
|
+
msgstr ""
|
42
|
+
|
43
|
+
#: gui/assistant.rb:74
|
44
|
+
msgid "Later you can change your setting in the Browser/Preferences menu."
|
45
|
+
msgstr ""
|
46
|
+
|
47
|
+
#: gui/assistant.rb:83
|
48
|
+
msgid "Configuration (3/6)"
|
49
|
+
msgstr ""
|
50
|
+
|
51
|
+
#: gui/assistant.rb:88
|
52
|
+
msgid "ZiK uses GStreamer to play audio files. GStreamer supports a lot of formats. The number of supported formats depends on which gstreamer plug-ins are installed If you cannot play a file you should check which plug-ins are not installed. More informations on http://zik.rubyforge.org/wiki/wiki.pl?Supported_Formats"
|
53
|
+
msgstr ""
|
54
|
+
|
55
|
+
#: gui/assistant.rb:96
|
56
|
+
msgid "GStreamer (4/5)"
|
57
|
+
msgstr ""
|
58
|
+
|
59
|
+
#: gui/assistant.rb:101
|
60
|
+
msgid "ZiK configuration is done. You can find more options on the preferences window. You can find help or rerun this assistant on the help menu."
|
61
|
+
msgstr ""
|
62
|
+
|
63
|
+
#: gui/assistant.rb:107
|
64
|
+
msgid "Conclusion (5/5)"
|
65
|
+
msgstr ""
|
66
|
+
|
67
|
+
#: gui/cdgui.rb:36 gui/preference.rb:407
|
68
|
+
msgid "Cd"
|
69
|
+
msgstr ""
|
70
|
+
|
71
|
+
#: gui/config.rb:84
|
72
|
+
msgid "Saving configuration."
|
73
|
+
msgstr ""
|
74
|
+
|
75
|
+
#: gui/edit.rb:33 gui/preference.rb:140 gui/preference.rb:253
|
76
|
+
#: mod/brainz/dialogs.rb:39
|
77
|
+
msgid "Title"
|
78
|
+
msgstr ""
|
79
|
+
|
80
|
+
#: gui/edit.rb:38 gui/preference.rb:141 gui/preference.rb:255
|
81
|
+
#: mod/brainz/dialogs.rb:43
|
82
|
+
msgid "Artist"
|
83
|
+
msgstr ""
|
84
|
+
|
85
|
+
#: gui/edit.rb:43 gui/preference.rb:142 gui/preference.rb:257
|
86
|
+
#: mod/brainz/dialogs.rb:47
|
87
|
+
msgid "Album"
|
88
|
+
msgstr ""
|
89
|
+
|
90
|
+
#: gui/edit.rb:48 gui/preference.rb:259
|
91
|
+
msgid "Genre"
|
92
|
+
msgstr ""
|
93
|
+
|
94
|
+
#: gui/edit.rb:53 gui/preference.rb:143 mod/brainz/dialogs.rb:51
|
95
|
+
msgid "Track"
|
96
|
+
msgstr ""
|
97
|
+
|
98
|
+
#: gui/edit.rb:56 gui/preference.rb:251
|
99
|
+
msgid "Path"
|
100
|
+
msgstr ""
|
101
|
+
|
102
|
+
#: gui/edit.rb:60 gui/edit.rb:71 gui/edit.rb:75 gui/edit.rb:79
|
103
|
+
msgid "Unknown"
|
104
|
+
msgstr ""
|
105
|
+
|
106
|
+
#: gui/edit.rb:68
|
107
|
+
msgid "Duration"
|
108
|
+
msgstr ""
|
109
|
+
|
110
|
+
#: gui/edit.rb:72
|
111
|
+
msgid "Bitrate"
|
112
|
+
msgstr ""
|
113
|
+
|
114
|
+
#: gui/edit.rb:76
|
115
|
+
msgid "Samplerate"
|
116
|
+
msgstr ""
|
117
|
+
|
118
|
+
#: gui/edit.rb:80
|
119
|
+
msgid "Channels"
|
120
|
+
msgstr ""
|
121
|
+
|
122
|
+
#: gui/edit.rb:93
|
123
|
+
msgid "<b>Song's tag will be overwrite by clicking Ok.</b>"
|
124
|
+
msgstr ""
|
125
|
+
|
126
|
+
#: gui/edit.rb:132 gui/edit.rb:195 gui/gui.rb:379
|
127
|
+
msgid "Edit tag"
|
128
|
+
msgstr ""
|
129
|
+
|
130
|
+
#: gui/edit.rb:165
|
131
|
+
msgid "Song name"
|
132
|
+
msgstr ""
|
133
|
+
|
134
|
+
#: gui/edit.rb:185 gui/radiogui.rb:177
|
135
|
+
msgid "Move to the top"
|
136
|
+
msgstr ""
|
137
|
+
|
138
|
+
#: gui/edit.rb:190 gui/radiogui.rb:182
|
139
|
+
msgid "Move up"
|
140
|
+
msgstr ""
|
141
|
+
|
142
|
+
#: gui/edit.rb:206 gui/radiogui.rb:215
|
143
|
+
msgid "Move down"
|
144
|
+
msgstr ""
|
145
|
+
|
146
|
+
#: gui/edit.rb:211 gui/radiogui.rb:220
|
147
|
+
msgid "Move to the bottom"
|
148
|
+
msgstr ""
|
149
|
+
|
150
|
+
#: gui/edit.rb:217
|
151
|
+
msgid "Add a file"
|
152
|
+
msgstr ""
|
153
|
+
|
154
|
+
#: gui/edit.rb:222 gui/gui.rb:1135
|
155
|
+
msgid "Save playlist"
|
156
|
+
msgstr ""
|
157
|
+
|
158
|
+
#: gui/edit.rb:309
|
159
|
+
msgid "Add a File"
|
160
|
+
msgstr ""
|
161
|
+
|
162
|
+
#: gui/edit.rb:325
|
163
|
+
msgid "Save list"
|
164
|
+
msgstr ""
|
165
|
+
|
166
|
+
#: gui/gui.rb:66 gui/preference.rb:346
|
167
|
+
msgid "Shuffle"
|
168
|
+
msgstr ""
|
169
|
+
|
170
|
+
#: gui/gui.rb:69 gui/preference.rb:350
|
171
|
+
msgid "Repeat"
|
172
|
+
msgstr ""
|
173
|
+
|
174
|
+
#: gui/gui.rb:122 gui/gui.rb:1156
|
175
|
+
msgid "Export songs"
|
176
|
+
msgstr ""
|
177
|
+
|
178
|
+
#: gui/gui.rb:123
|
179
|
+
msgid "Copy songs to a directory and write the selected playlist file."
|
180
|
+
msgstr ""
|
181
|
+
|
182
|
+
#: gui/gui.rb:156
|
183
|
+
msgid "_Import"
|
184
|
+
msgstr ""
|
185
|
+
|
186
|
+
#: gui/gui.rb:166
|
187
|
+
msgid "Assistant"
|
188
|
+
msgstr ""
|
189
|
+
|
190
|
+
#: gui/gui.rb:171
|
191
|
+
msgid "Report a bug"
|
192
|
+
msgstr ""
|
193
|
+
|
194
|
+
#: gui/gui.rb:184
|
195
|
+
msgid "_Music"
|
196
|
+
msgstr ""
|
197
|
+
|
198
|
+
#: gui/gui.rb:186
|
199
|
+
msgid "_Browser"
|
200
|
+
msgstr ""
|
201
|
+
|
202
|
+
#: gui/gui.rb:188
|
203
|
+
msgid "Play_list"
|
204
|
+
msgstr ""
|
205
|
+
|
206
|
+
#: gui/gui.rb:191
|
207
|
+
msgid "_Radio"
|
208
|
+
msgstr ""
|
209
|
+
|
210
|
+
#: gui/gui.rb:194
|
211
|
+
msgid "_Help"
|
212
|
+
msgstr ""
|
213
|
+
|
214
|
+
#: gui/gui.rb:211 gui/preference.rb:404
|
215
|
+
msgid "Browser"
|
216
|
+
msgstr ""
|
217
|
+
|
218
|
+
#: gui/gui.rb:278
|
219
|
+
msgid "Add selected files to playlist"
|
220
|
+
msgstr ""
|
221
|
+
|
222
|
+
#: gui/gui.rb:289
|
223
|
+
msgid "Remove selected songs from playlist"
|
224
|
+
msgstr ""
|
225
|
+
|
226
|
+
#: gui/gui.rb:294
|
227
|
+
msgid "Clear playlist"
|
228
|
+
msgstr ""
|
229
|
+
|
230
|
+
#: gui/gui.rb:299
|
231
|
+
msgid "Edit playlist"
|
232
|
+
msgstr ""
|
233
|
+
|
234
|
+
#: gui/gui.rb:304
|
235
|
+
msgid "Find in playlist"
|
236
|
+
msgstr ""
|
237
|
+
|
238
|
+
#: gui/gui.rb:313 gui/preference.rb:405
|
239
|
+
msgid "Playlist"
|
240
|
+
msgstr ""
|
241
|
+
|
242
|
+
#: gui/gui.rb:440 gui/radiogui.rb:110 gui/radiogui.rb:226 gui/radiogui.rb:379
|
243
|
+
msgid "Add a radio"
|
244
|
+
msgstr ""
|
245
|
+
|
246
|
+
#: gui/gui.rb:444 gui/radiogui.rb:187
|
247
|
+
msgid "Remove selection"
|
248
|
+
msgstr ""
|
249
|
+
|
250
|
+
#: gui/gui.rb:453 gui/radiogui.rb:231
|
251
|
+
msgid "Clear radios list"
|
252
|
+
msgstr ""
|
253
|
+
|
254
|
+
#: gui/gui.rb:461 gui/radiogui.rb:81 gui/radiogui.rb:192 gui/radiogui.rb:198
|
255
|
+
msgid "Edit a radio"
|
256
|
+
msgstr ""
|
257
|
+
|
258
|
+
#: gui/gui.rb:915
|
259
|
+
msgid "Loading new plugins. Please wait..."
|
260
|
+
msgstr ""
|
261
|
+
|
262
|
+
#: gui/gui.rb:1118
|
263
|
+
msgid "Import a file"
|
264
|
+
msgstr ""
|
265
|
+
|
266
|
+
#: gui/gui.rb:1162
|
267
|
+
msgid "Export all songs in this directory."
|
268
|
+
msgstr ""
|
269
|
+
|
270
|
+
#: gui/gui.rb:1163
|
271
|
+
msgid "Recreate songs tree under the destination directory."
|
272
|
+
msgstr ""
|
273
|
+
|
274
|
+
#: gui/gui.rb:1175
|
275
|
+
msgid "Copying audio files..."
|
276
|
+
msgstr ""
|
277
|
+
|
278
|
+
#: gui/gui.rb:1197
|
279
|
+
msgid "An error occured while exporting songs.\n"
|
280
|
+
msgid_plural "Some errors occured while exporting songs.\n"
|
281
|
+
msgstr[0] ""
|
282
|
+
msgstr[1] ""
|
283
|
+
|
284
|
+
#: gui/gui.rb:1315
|
285
|
+
msgid "Do not forget to validate your changes after editing the playlist."
|
286
|
+
msgstr ""
|
287
|
+
|
288
|
+
#: gui/gui.rb:1376
|
289
|
+
msgid "Audio player"
|
290
|
+
msgstr ""
|
291
|
+
|
292
|
+
#: gui/mod.rb:61
|
293
|
+
msgid "Some module cannot be loaded."
|
294
|
+
msgstr ""
|
295
|
+
|
296
|
+
#: gui/mod.rb:125 gui/mod.rb:156 gui/mod.rb:175 gui/preference.rb:408
|
297
|
+
msgid "Modules"
|
298
|
+
msgstr ""
|
299
|
+
|
300
|
+
#: gui/preference.rb:33
|
301
|
+
msgid "Add a directory."
|
302
|
+
msgstr ""
|
303
|
+
|
304
|
+
#: gui/preference.rb:35
|
305
|
+
msgid "Directories"
|
306
|
+
msgstr ""
|
307
|
+
|
308
|
+
#: gui/preference.rb:50 gui/preference.rb:111
|
309
|
+
msgid "Delete this directory."
|
310
|
+
msgstr ""
|
311
|
+
|
312
|
+
#: gui/preference.rb:58
|
313
|
+
msgid "Add a directory"
|
314
|
+
msgstr ""
|
315
|
+
|
316
|
+
#: gui/preference.rb:85 gui/preference.rb:299 gui/preference.rb:357
|
317
|
+
msgid "Default"
|
318
|
+
msgstr ""
|
319
|
+
|
320
|
+
#: gui/preference.rb:86 gui/preference.rb:300 gui/preference.rb:358
|
321
|
+
msgid "Reset to default."
|
322
|
+
msgstr ""
|
323
|
+
|
324
|
+
#: gui/preference.rb:94
|
325
|
+
msgid "Add an extension."
|
326
|
+
msgstr ""
|
327
|
+
|
328
|
+
#: gui/preference.rb:96
|
329
|
+
msgid "Extensions"
|
330
|
+
msgstr ""
|
331
|
+
|
332
|
+
#: gui/preference.rb:139
|
333
|
+
msgid "None"
|
334
|
+
msgstr ""
|
335
|
+
|
336
|
+
#: gui/preference.rb:224
|
337
|
+
msgid "List of directories displayed in the browser view."
|
338
|
+
msgstr ""
|
339
|
+
|
340
|
+
#: gui/preference.rb:233
|
341
|
+
msgid "Refresh browser view on start"
|
342
|
+
msgstr ""
|
343
|
+
|
344
|
+
#: gui/preference.rb:235
|
345
|
+
msgid "Uncheck to use previous view (faster)."
|
346
|
+
msgstr ""
|
347
|
+
|
348
|
+
#: gui/preference.rb:242
|
349
|
+
msgid "Directories before files"
|
350
|
+
msgstr ""
|
351
|
+
|
352
|
+
#: gui/preference.rb:244
|
353
|
+
msgid "Case sensitive"
|
354
|
+
msgstr ""
|
355
|
+
|
356
|
+
#: gui/preference.rb:246 gui/preference.rb:325
|
357
|
+
msgid "Sort options"
|
358
|
+
msgstr ""
|
359
|
+
|
360
|
+
#: gui/preference.rb:261
|
361
|
+
msgid "Check entries used for search. Use only path for speed."
|
362
|
+
msgstr ""
|
363
|
+
|
364
|
+
#: gui/preference.rb:273 gui/search.rb:186
|
365
|
+
msgid "Search"
|
366
|
+
msgstr ""
|
367
|
+
|
368
|
+
#: gui/preference.rb:284
|
369
|
+
msgid "Single"
|
370
|
+
msgstr ""
|
371
|
+
|
372
|
+
#: gui/preference.rb:285
|
373
|
+
msgid "Multi"
|
374
|
+
msgstr ""
|
375
|
+
|
376
|
+
#: gui/preference.rb:288
|
377
|
+
msgid "Session"
|
378
|
+
msgstr ""
|
379
|
+
|
380
|
+
#: gui/preference.rb:293
|
381
|
+
msgid "Format used to display songs' name. Set all to None if you want to use file name."
|
382
|
+
msgstr ""
|
383
|
+
|
384
|
+
#: gui/preference.rb:295
|
385
|
+
msgid "Format"
|
386
|
+
msgstr ""
|
387
|
+
|
388
|
+
#: gui/preference.rb:305 mod/notify/configwidget.rb:44 mod/notify/configwidget.rb:52
|
389
|
+
msgid "Select a color."
|
390
|
+
msgstr ""
|
391
|
+
|
392
|
+
#: gui/preference.rb:307
|
393
|
+
msgid "Color used to highlight the current song."
|
394
|
+
msgstr ""
|
395
|
+
|
396
|
+
#: gui/preference.rb:309
|
397
|
+
msgid "Color"
|
398
|
+
msgstr ""
|
399
|
+
|
400
|
+
#: gui/preference.rb:313 gui/preference.rb:317
|
401
|
+
msgid "Compact view"
|
402
|
+
msgstr ""
|
403
|
+
|
404
|
+
#: gui/preference.rb:315
|
405
|
+
msgid "Show more tracks in playlist."
|
406
|
+
msgstr ""
|
407
|
+
|
408
|
+
#: gui/preference.rb:321
|
409
|
+
msgid "Sort by track"
|
410
|
+
msgstr ""
|
411
|
+
|
412
|
+
#: gui/preference.rb:323
|
413
|
+
msgid "Try to sort files by track numbers when adding a directory."
|
414
|
+
msgstr ""
|
415
|
+
|
416
|
+
#: gui/preference.rb:329
|
417
|
+
msgid "Relative paths"
|
418
|
+
msgstr ""
|
419
|
+
|
420
|
+
#: gui/preference.rb:331
|
421
|
+
msgid "Use relative paths when saving playlist."
|
422
|
+
msgstr ""
|
423
|
+
|
424
|
+
#: gui/preference.rb:333
|
425
|
+
msgid "Relative path"
|
426
|
+
msgstr ""
|
427
|
+
|
428
|
+
#: gui/preference.rb:342
|
429
|
+
msgid "Play on start"
|
430
|
+
msgstr ""
|
431
|
+
|
432
|
+
#: gui/preference.rb:362
|
433
|
+
msgid "Device"
|
434
|
+
msgstr ""
|
435
|
+
|
436
|
+
#: gui/preference.rb:366
|
437
|
+
msgid "Search for the songs title on the web."
|
438
|
+
msgstr ""
|
439
|
+
|
440
|
+
#: gui/preference.rb:387
|
441
|
+
msgid "Configuration"
|
442
|
+
msgstr ""
|
443
|
+
|
444
|
+
#: gui/preference.rb:406
|
445
|
+
msgid "Player"
|
446
|
+
msgstr ""
|
447
|
+
|
448
|
+
#: gui/preference.rb:482
|
449
|
+
msgid "Preferences"
|
450
|
+
msgstr ""
|
451
|
+
|
452
|
+
#: gui/radiogui.rb:27
|
453
|
+
msgid "Name"
|
454
|
+
msgstr ""
|
455
|
+
|
456
|
+
#: gui/radiogui.rb:30
|
457
|
+
msgid "Url"
|
458
|
+
msgstr ""
|
459
|
+
|
460
|
+
#: gui/radiogui.rb:67 gui/radiogui.rb:161
|
461
|
+
msgid "Radio"
|
462
|
+
msgstr ""
|
463
|
+
|
464
|
+
#: gui/radiogui.rb:134
|
465
|
+
msgid "Import a radios list"
|
466
|
+
msgstr ""
|
467
|
+
|
468
|
+
#: gui/radiogui.rb:274
|
469
|
+
msgid "Edit radios list"
|
470
|
+
msgstr ""
|
471
|
+
|
472
|
+
#: gui/search.rb:50
|
473
|
+
msgid "Searching (ListSearchWidget)."
|
474
|
+
msgstr ""
|
475
|
+
|
476
|
+
#: gui/search.rb:149
|
477
|
+
msgid "Searching (BrowseSearchWindow)"
|
478
|
+
msgstr ""
|
479
|
+
|
480
|
+
#: gui/search.rb:157
|
481
|
+
msgid "Results"
|
482
|
+
msgstr ""
|
483
|
+
|
484
|
+
#: playlist/radiolist.rb:75
|
485
|
+
msgid "Saving radios."
|
486
|
+
msgstr ""
|
487
|
+
|
488
|
+
#: playlist/radiolist.rb:114
|
489
|
+
msgid "Uname Radio"
|
490
|
+
msgstr ""
|
491
|
+
|
492
|
+
#: mod/brainz.rb:25
|
493
|
+
msgid "Retrieve track infos from the web."
|
494
|
+
msgstr ""
|
495
|
+
|
496
|
+
#: mod/brainz.rb:58
|
497
|
+
msgid "Cannot find ofa element. Please install ofa Gstreamer plugins."
|
498
|
+
msgstr ""
|
499
|
+
|
500
|
+
#: mod/cover.rb:25
|
501
|
+
msgid "Display album covers."
|
502
|
+
msgstr ""
|
503
|
+
|
504
|
+
#: mod/hotkeys.rb:31
|
505
|
+
msgid "Set global hotkeys."
|
506
|
+
msgstr ""
|
507
|
+
|
508
|
+
#: mod/hotkeys.rb:67
|
509
|
+
msgid "Cannot find rghk. Please install it."
|
510
|
+
msgstr ""
|
511
|
+
|
512
|
+
#: mod/hotkeys.rb:89
|
513
|
+
msgid "Module not loaded. Cannot display configuration."
|
514
|
+
msgstr ""
|
515
|
+
|
516
|
+
#: mod/notify.rb:25
|
517
|
+
msgid "Display a notification when playing a new song."
|
518
|
+
msgstr ""
|
519
|
+
|
520
|
+
#: mod/notify.rb:49
|
521
|
+
msgid "Cannot use system notification. Please install ruby-libnotify."
|
522
|
+
msgstr ""
|
523
|
+
|
524
|
+
#: mod/notify.rb:64 mod/notify.rb:66 mod/notify/window.rb:34
|
525
|
+
msgid "Playing"
|
526
|
+
msgstr ""
|
527
|
+
|
528
|
+
#: mod/trayicon.rb:25
|
529
|
+
msgid "Display an icon in the system tray."
|
530
|
+
msgstr ""
|
531
|
+
|
532
|
+
#: mod/brainz/dialogs.rb:111
|
533
|
+
msgid "Id (Original tags)"
|
534
|
+
msgstr ""
|
535
|
+
|
536
|
+
#: mod/brainz/functions.rb:46
|
537
|
+
msgid "Cannot retrieve song id (parse error)."
|
538
|
+
msgstr ""
|
539
|
+
|
540
|
+
#: mod/brainz/functions.rb:48
|
541
|
+
msgid "Cannot retrieve song id."
|
542
|
+
msgstr ""
|
543
|
+
|
544
|
+
#: mod/brainz/functions.rb:51
|
545
|
+
msgid "Only files are supported."
|
546
|
+
msgstr ""
|
547
|
+
|
548
|
+
#: mod/brainz/song.rb:58
|
549
|
+
msgid "Http error"
|
550
|
+
msgstr ""
|
551
|
+
|
552
|
+
#: mod/brainz/song.rb:91
|
553
|
+
msgid "musicdns error.\n"
|
554
|
+
msgstr ""
|
555
|
+
|
556
|
+
#: mod/hotkeys/configwidget.rb:29
|
557
|
+
msgid "Previous: "
|
558
|
+
msgstr ""
|
559
|
+
|
560
|
+
#: mod/hotkeys/configwidget.rb:39
|
561
|
+
msgid "Stop: "
|
562
|
+
msgstr ""
|
563
|
+
|
564
|
+
#: mod/hotkeys/configwidget.rb:49
|
565
|
+
msgid "Play/pause: "
|
566
|
+
msgstr ""
|
567
|
+
|
568
|
+
#: mod/hotkeys/configwidget.rb:59
|
569
|
+
msgid "Next: "
|
570
|
+
msgstr ""
|
571
|
+
|
572
|
+
#: mod/notify/configwidget.rb:30
|
573
|
+
msgid "Display time"
|
574
|
+
msgstr ""
|
575
|
+
|
576
|
+
#: mod/notify/configwidget.rb:33
|
577
|
+
msgid "Use native notifications"
|
578
|
+
msgstr ""
|
579
|
+
|
580
|
+
#: mod/notify/configwidget.rb:39
|
581
|
+
msgid "Use system notifications"
|
582
|
+
msgstr ""
|
583
|
+
|
584
|
+
#: mod/notify/configwidget.rb:46
|
585
|
+
msgid "Background color"
|
586
|
+
msgstr ""
|
587
|
+
|
588
|
+
#: mod/notify/configwidget.rb:54
|
589
|
+
msgid "Foreground color"
|
590
|
+
msgstr ""
|
591
|
+
|
592
|
+
#: mod/trayicon/configwidget.rb:28
|
593
|
+
msgid "Check to add interactions with third button mouse.\ndown : next song.\nup : previous song.\nCtrl+down : decrease volume.\nCtrl+up : increase volume."
|
594
|
+
msgstr ""
|
595
|
+
|
596
|
+
#: mod/trayicon/configwidget.rb:31
|
597
|
+
msgid "Scroll actions"
|
598
|
+
msgstr ""
|
599
|
+
|
600
|
+
#: mod/trayicon/icon.rb:40
|
601
|
+
msgid "Main window"
|
602
|
+
msgstr ""
|
603
|
+
|
604
|
+
#: mod/cover/configwidget.rb:28
|
605
|
+
msgid "Check to hide cover area when no cover is found."
|
606
|
+
msgstr ""
|
607
|
+
|
608
|
+
#: mod/cover/configwidget.rb:31
|
609
|
+
msgid "Hide"
|
610
|
+
msgstr ""
|
611
|
+
|
612
|
+
#: mod/cover/widget.rb:40 mod/cover/widget.rb:56 mod/cover/widget.rb:71
|
613
|
+
msgid "Title: "
|
614
|
+
msgstr ""
|
615
|
+
|
616
|
+
#: mod/cover/widget.rb:41 mod/cover/widget.rb:56 mod/cover/widget.rb:72
|
617
|
+
msgid "Artist: "
|
618
|
+
msgstr ""
|
619
|
+
|
620
|
+
#: mod/cover/widget.rb:42 mod/cover/widget.rb:56 mod/cover/widget.rb:73
|
621
|
+
msgid "Album: "
|
622
|
+
msgstr ""
|