zik 0.16.1
Sign up to get free protection for your applications and to get access to all the features.
- 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 ""
|