summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/global.pl24
-rw-r--r--data/lang.txt59
-rw-r--r--data/script.js11
-rw-r--r--lib/VNDB/Handler/Releases.pm18
-rwxr-xr-xutil/jsgen.pl3
5 files changed, 86 insertions, 29 deletions
diff --git a/data/global.pl b/data/global.pl
index 1cbb9902..9f176081 100644
--- a/data/global.pl
+++ b/data/global.pl
@@ -69,18 +69,18 @@ our %S = (%S,
release_types => [0..2],
platforms => [qw|win dos lin mac dvd gba msx nds nes p98 psp ps1 ps2 ps3 drc sat sfc wii xb3 oth|],
media => {
- #DB display qty
- cd => [ 'CD', 1 ],
- dvd => [ 'DVD', 1 ],
- gdr => [ 'GD', 1 ],
- blr => [ 'Blu-ray', 1 ],
- flp => [ 'Floppy', 1 ],
- mrt => [ 'Cartridge', 1 ],
- mem => [ 'Memory card', 1 ],
- umd => [ 'UMD', 1 ],
- nod => [ 'Nintendo Optical Disk', 1 ],
- in => [ 'Internet download', 0 ],
- otc => [ 'Other', 0 ],
+ #DB qty?
+ cd => 1,
+ dvd => 1,
+ gdr => 1,
+ blr => 1,
+ flp => 1,
+ mrt => 1,
+ mem => 1,
+ umd => 1,
+ nod => 1,
+ in => 0,
+ otc => 0
},
resolutions => [
[ 'Unknown / console / handheld', '' ],
diff --git a/data/lang.txt b/data/lang.txt
index 8c712a5a..adf11b85 100644
--- a/data/lang.txt
+++ b/data/lang.txt
@@ -326,6 +326,53 @@ en : Other
ru : Другая
+# Release media
+
+:_med_cd
+en : [quant,_1,CD,CDs]
+ru*:
+
+:_med_dvd
+en : [quant,_1,DVD,DVDs]
+ru*:
+
+:_med_gdr
+en : [quant,_1,GD-ROM,GD-ROMs]
+ru*:
+
+:_med_blr
+en : [quant,_1,Blu-ray disc,Blu-ray discs]
+ru*:
+
+:_med_flp
+en : [quant,_1,Floppy,Floppies]
+ru*:
+
+:_med_mrt
+en : [quant,_1,Cartridge,Cartridges]
+ru*:
+
+:_med_mem
+en : [quant,_1,Memory card,Memory cards]
+ru*:
+
+:_med_umd
+en : [quant,_1,UMD,UMDs]
+ru*:
+
+:_med_nod
+en : Nintendo Optical [quant,_1,Disk,Disks]
+ru*:
+
+:_med_in
+en : Internet download
+ru*:
+
+:_med_otc
+en : Other
+ru*:
+
+
# VN relations
:_vnrel_seq
@@ -1871,6 +1918,18 @@ ru : Платформы
en : Media
ru : Носители
+:_redit_form_med_quantity
+en : -quantity-
+ru*:
+
+:_redit_form_med_medium
+en : -medium-
+ru*:
+
+:_redit_form_med_remove
+en : remove
+ru*:
+
:_redit_form_prod
en : Producers
ru : Компании
diff --git a/data/script.js b/data/script.js
index 9bb3d84a..2c6b776a 100644
--- a/data/script.js
+++ b/data/script.js
@@ -158,7 +158,9 @@ function shorten(v, l) {
return v.length > l ? v.substr(0, l-3)+'...' : v;
}
-/* maketext function, less powerful than the Perl equivalent (only supports [_n] and ~[~])
+/* maketext function, less powerful than the Perl equivalent:
+ * - Only supports [_n], ~[, ~]
+ * - When it finds [quant,_n,..], it will only return the first argument (and doesn't support ~ in an argument)
* assumes that a TL structure called 'L10N_STR' is defined in the header of this file */
var mt_curlang = getCookie('l10n') || 'en';
function mt() {
@@ -169,6 +171,7 @@ function mt() {
while(val.substr(expr) >= 0)
val = val.replace(expr, arguments[i]);
}
+ val = val.replace(/\[quant,_\d+\,([^,]+)[^\]]+\]/g, "$1");
while(val.substr('~[') >= 0 || val.substr('~]') >= 0)
val = val.replace('~[', '[').replace('~]', ']');
return val;
@@ -857,18 +860,18 @@ function medLoad() {
}
function medAdd(med, qty) {
- var qsel = tag('select', {'class':'qty', onchange:medSerialize}, tag('option', {value:0}, '- quantity -'));
+ var qsel = tag('select', {'class':'qty', onchange:medSerialize}, tag('option', {value:0}, mt('_redit_form_med_quantity')));
for(var i=1; i<=20; i++)
qsel.appendChild(tag('option', {value:i, selected: qty==i}, i));
var msel = tag('select', {'class':'medium', onchange: med == '' ? medFormAdd : medSerialize});
if(med == '')
- msel.appendChild(tag('option', {value:''}, '- medium -'));
+ msel.appendChild(tag('option', {value:''}, mt('_redit_form_med_medium')));
for(var i=0; i<medTypes.length; i++)
msel.appendChild(tag('option', {value:medTypes[i][0], selected: med==medTypes[i][0]}, medTypes[i][1]));
byId('media_div').appendChild(tag('span', qsel, msel,
- med != '' ? tag('input', {type: 'button', 'class':'submit', onclick:medDel, value:'remove'}) : null
+ med != '' ? tag('input', {type: 'button', 'class':'submit', onclick:medDel, value:mt('_redit_form_med_remove')}) : null
));
}
diff --git a/lib/VNDB/Handler/Releases.pm b/lib/VNDB/Handler/Releases.pm
index e3656cc3..f022795a 100644
--- a/lib/VNDB/Handler/Releases.pm
+++ b/lib/VNDB/Handler/Releases.pm
@@ -54,10 +54,7 @@ sub page {
[ notes => diff => 1 ],
[ platforms => join => ', ', split => sub { map mt("_plat_$_"), @{$_[0]} } ],
[ media => join => ', ', split => sub {
- map {
- my $med = $self->{media}{$_->{medium}};
- $med->[1] ? sprintf('%d %s%s', $_->{qty}, $med->[0], $_->{qty}>1?'s':'') : $med->[0]
- } @{$_[0]};
+ map $self->{media}{$_->{medium}} ? $_->{qty}.' '.mt("_med_$_->{medium}", $_->{qty}) : mt("_med_$_->{medium}",1), @{$_[0]}
} ],
[ resolution => serialize => sub { $self->{resolutions}[$_[0]][0] } ],
[ voiced => serialize => sub { mt '_voiced_'.$_[0] } ],
@@ -154,11 +151,9 @@ sub _infotable {
if(@{$r->{media}}) {
Tr ++$i % 2 ? (class => 'odd') : ();
td mt '_relinfo_media', scalar @{$r->{media}};
- # TODO: TL the media
- td join ', ', map {
- my $med = $self->{media}{$_->{medium}};
- $med->[1] ? sprintf('%d %s%s', $_->{qty}, $med->[0], $_->{qty}>1?'s':'') : $med->[0]
- } @{$r->{media}};
+ td join ', ', map
+ $self->{media}{$_->{medium}} ? $_->{qty}.' '.mt("_med_$_->{medium}", $_->{qty}) : mt("_med_$_->{medium}",1),
+ @{$r->{media}};
end;
}
@@ -435,7 +430,7 @@ sub _form {
h2 mt '_redit_form_media';
div id => 'media_div';
Select;
- option value => $_, class => $self->{media}{$_}[1] ? 'qty' : 'noqty', $self->{media}{$_}[0]
+ option value => $_, class => $self->{media}{$_} ? 'qty' : 'noqty', mt "_med_$_", 1
for (sort keys %{$self->{media}});
end;
end;
@@ -657,10 +652,9 @@ sub _filters {
b ' ('.mt('_rbrowse_boolor').')';
end;
for my $i (sort keys %{$self->{media}}) {
- next if $i eq 'otc';
span;
input type => 'checkbox', name => 'me', value => $i, id => "med_$i", grep($_ eq $i, @{$f->{me}}) ? (checked => 'checked') : ();
- label for => "med_$i", $self->{media}{$i}[0];
+ label for => "med_$i", mt "_med_$i";
end;
}
diff --git a/util/jsgen.pl b/util/jsgen.pl
index 4ab856e5..edc191b6 100755
--- a/util/jsgen.pl
+++ b/util/jsgen.pl
@@ -27,7 +27,8 @@ my $jskeys = qr{^(?:
_menu_emptysearch|
_vnpage_uopt_(?:10?vote|rel.+)|
_rlst_[vr]stat_.+|
- _vnedit_rel_(?:isa|of|addbut|del|none|findformat|novn|double)
+ _vnedit_rel_(?:isa|of|addbut|del|none|findformat|novn|double)|
+ _redit_form_med_.+
)$}x;
sub l10n {